Python数据分析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、数据分析是做什么的

分析用户的消费行为

分析广告点击率

数据分析的概念

二、熟悉Python数据分析的工具

数据分析常用工具

Python数据分析的优势

三、数据分析的流程

四、Python数据分析常用工具库

  1.NumPy(Numerical Python)—— Python 科学计算的基础包

  2.Pandas——数据分析核心库

  3.Matplotlib——绘制数据图表的 Python 库

  4.scikit-learn——数据挖掘和数据分析工具

  5.SciPy——专门解决科学计算中各种标准问题域的模块的集合

五、Numpy数值计算基础

六、Pandas统计分析基础

七、matplotlib模块数据可视化

总结


前言

数据分析是通过明确分析目的,梳理并确定分析逻辑,针对性的收集、整理数据,并采用统计、挖掘技术分析,提取有用信息和展示结论的过程。


一、数据分析是做什么的

数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。 数据分析的数学基础在20世纪早期就已确立,但直到计算机的出现才使得实际操作成为可能,并使得数据分析得以推广。

  • 分析用户的消费行为
    • 制定促销活动的方案
    • 制定促销时间和粒度
    • 计算用户的活跃度
    • 分析产品的回购力度
  • 分析广告点击率
    • 决定投放时间
    • 制定广告定向人群方案
    • 决定相关平台的投放
  • ......

数据分析使用适当的方法对收集来的大量数据进行分析,帮助人们做出判断,以便采取适当的措施

数据分析的概念

        广义的数据分析包括狭义数据分析和数据挖掘。

        狭义的数据分析是指根据分析目的,采用对比分析、分组分析、交叉分析等分析方法,对收集来的数据进行处理与分析,提取有价值的信息,发挥数据的作用,得到一个特征统计量结果的过程。

        数据挖掘则是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,通过应用聚类、分类、回归和关联规则等技术,挖掘潜在价值的过程。


二、熟悉Python数据分析的工具

数据分析常用工具

目前主流的数据分析语言有R,Python,MATLAB三种程序语言。

Python数据分析的优势

    Python 数据分析主要包含以下 5 个方面优势

  • 语法简单精练。对于初学者来说,比起其他编程语言,Python更容易上手。
  • 有很强大的库。可以只使用Python这一种语言去构建以数据为中心的应用程序。
  • 不仅适用于研究和原型构建,同时也适用于构建生产系统。
  • 研究人员和工程技术人员使用同一种编程工具,会给企业带来非常显著的组织效益,并降低企业的运营成本。
  • Python是一门胶水语言。Python程序能够以多种方式轻易地与其他语言的组件“粘接”在一起。

三、数据分析的流程

  • 需求分析:数据分析中的需求分析也是数据分析环节的第一步和最重要的步骤之一,决定了后续的分析的方向、方法。

  • 数据获取:数据是数据分析工作的基础,是指根据需求分析的结果提取,收集数据。

  • 数据预处理:数据预处理是指对数据进行数据合并,数据清洗,数据变换和数据标准化,数据变换后使得整体数据变为干净整齐,可以直接用于分析建模这一过程的总称。

  • 分析与建模:分析与建模是指通过对比分析、分组分析、交叉分析、回归分析等分析方法和聚类、分类、关联规则、智能推荐等模型与算法发现数据中的有价值信息,并得出结论的过程。

  • 模型评价与优化:模型评价是指对已经建立的一个或多个模型,根据其模型的类别,使用不同的指标评价其性能优劣的过程。


四、Python数据分析常用工具库

  1.NumPy(Numerical Python)—— Python 科学计算的基础包
  • 快速高效的多维数组对象 ndarray。
  • 对数组执行元素级的计算以及直接对数组执行数学运算的函数。
  • 读写硬盘上基于数组的数据集的工具。
  • 线性代数运算、傅里叶变换,以及随机数生成的功能。
  • 将 C、C++、Fortran 代码集成到 Python 的工具。
  2.Pandas——数据分析核心库
  • 提供了一系列能够快速、便捷地处理结构化数据的数据结构和函数。
  • 高性能的数组计算功能以及电子表格和关系型数据库(如 SQL)灵活的数据处理功能。
  • 复杂精细的索引功能,以便便捷地完成重塑、切片和切块、聚合及选取数据子集等操作。
  3.Matplotlib——绘制数据图表的 Python 库
  • Python的2D绘图库,非常适合创建出版物上用的图表。
  • 操作比较容易,只需几行代码即可生成直方图、功率谱图、条形图、错误图和散点图等图形。
  • 提供了pylab的模块,其中包括了NumPy和pyplot中许多常用的函数,方便用户快速进行计算和绘图。
  • 交互式的数据绘图环境,绘制的图表也是交互式的。
  4.scikit-learn——数据挖掘和数据分析工具
  • 简单有效,可以供用户在各种环境下重复使用。
  • 封装了一些常用的算法方法。
  • 基本模块主要有数据预处理、模型选择、分类、聚类、数据降维和回归 6 个,在数据量不大的情况下,scikit-learn可以解决大部分问题。
  5.SciPy——专门解决科学计算中各种标准问题域的模块的集合

SciPy 主要包含了 8 个模块,不同的子模块有不同的应用,如插值、积分、优化、图像处理和特殊函数等。

  • scipy.integrate 数值积分例程和微分方程求解器
  • scipy.linalg 扩展了由 numpy.linalg 提供的线性代数例程和矩阵分解功能
  • scipy.optimize 函数优化器(最小化器)以及根查找算法
  • scipy.signal 信号处理工具
  • scipy.sparse 稀疏矩阵和稀疏线性系统求解器
  • scipy.special SPECFUN(这是一个实现了许多常用数学函数的 Fortran 库)的包装器
  • scipy.stats 检验连续和离散概率分布、各种统计检验方法,以及更好的描述统计法
  • scipy.weave 利用内联 C++代码加速数组计算的工具

五、Numpy数值计算基础

  • Numpy(Numerical Python) 是 Python 语言中做科学计算的基础库。重在于数值计算,也是大部分 Python 科学计算库的基础,多用于在大型、多维数组上执行的数值运算。
  • Numpy的创建
  • 使用 array()创建一个一维数组
import numpy as np
arr = np.array([1,2,3])
arr
  • 使用 array()创建一个二维数组
import numpy as np
arr = np.array([[1,2,3],[4,5,6]]) # 二维数组
arr
# 三维数组也是如此
arr = np.array([[1,2,3],[4,5,6],[7,8,9]]) # 三维数组
arr
  • 使用 zero() 创建一个多维数组
np.zero(shape=(3,4))
  • 使用 zero() 创建一个多维数组
np.ones(shape=(3,4))
  • 用numpy库的特有函数快速创建等差数组
print(np.arange(0,1,0.1))#调用格式:np.array(a,b,c)
print(np.arange(0,100,20))#a表示数组的起始数,b表示数组的末位数,c表示数组的元素之间的差值
print(np.linspace(0,1,10))#调用格式:np.linspace(a,b,c)
print(np.linspace(0,1,11))#a表示数组的起始数,b表示数组的末位数,c表示数组中元素的个数
  • Numpy的常用属性

        shape

        ndim

        size

        dtype

np.random.randint(0,100,size=(5,3))
arr.shape    # 返回数组的形状
arr.ndim     # 返回数组的维度
arr.size     # 返回数组元素的个数
arr.dtype    # 返回数组中元素的数据类型

六、Pandas统计分析基础

  • Pandas库主要功能

Pandas库主要用来处理和分析结构化数据;结构化数据可以理解为表格化数据

  • Pandas库的导入方法:

import pandas as pd 

一般将pandas库重命名为pd方便之后的调用。


  •  Series的创建
from pandas import Series
s = Series(data=[l, 2, 3, 'four'])
s
  • index用来指定显式索引,可以增强Series的可读性
from pandas import Series
s = Series(data=[1, 2, 3,'four'],index=['a', 'b', 'c', 'd'])
s
  • 也可以使用字典作为数据源
from pandas import Series
dic={'小明’:25 小张’ 30}
s = Series(data=dic)
s
  • Series的索引和切片
from pandas import Series
dic = {小明’:25,'小张':30}
s = Series(data=dic)
s[0] # 25
s.小明 #25
s[0:2]
#小明  25
#小张 30
  •  DataFrame的创建
from pandas import DaraFrame
df = DataFrame(data=[[1,2,3],[4,5,6]])
df
  • 使用 ndarray 创建
from pandas import DataFrame
import numpy as np
df = DataFrame(data=np.random.randint(0,100),size=(6,4))
df

七、matplotlib模块数据可视化

matplotlib模块

  • matplotlib模块可以帮助我们轻松的将数据制成图表可视化展示。
  • 首先我们倒入全局的模块
import matplotlib.pyplot as plt
import numpy as np

1.1 绘制单条和多条线形图

# 绘制单条线形图
x = np.array([1,2,3,4,5])
y = x+3
plt.plat(x,y)
#绘制多条线形图
plt.plot(x+1, y-2)

1.2 设置坐标系的比例

# 设置坐标系的比例plt.figure(figsize=(a, b))
plt.figure(figsize=(5, 9)) #放置在绘图的plot方法之前
plt.plot(x,y)

1.3 设置图例

# 设置图例 legend()
plt.plot(X,y,label='x,y')
plt. legend()# 图例生效

1.4 设置轴的标识

#设置轴的标识
plt.plot(x,y)
plt.xlabel('temp')
plt.ylabel('dist')
plt.title('dist&temp')

1.5 图例保存

# 图例保存
fig = plt.figure() #该对象的创建一定要放置在plot绘图之前
plt.plot(x, y, label='x,y')
fig.savefig('./fig.png' )        

1.6曲线的样式和风格

# 曲线的样式和风格
plt.plot(x,y,c='red',alpha=0.5) # 颜色,透明度

2 绘制直方图

  • 是一个特殊的柱状图,又叫做密度图。
  • plt.hist()的参数
  • bins:可以是一个bin数量的整数值,也可以是表示bin的一个序列。默认值为10
  • normed:如果值为True,直方图的值将进行归一化处理,形成概率密度,默认值为False
  • color:指定直方图的颜色。可以是单一颜色值或颜色的序列。如果指定了多个数据集合,例如DataFrame对象,颜色序列将会设置为相同顺序。如果未指定,将会使用一个默认的线条颜色
  • orientation:通过设置 orientation 为 horizontal 创建水平直方图。默认值为 vertical
data = [1,1,2,2,2,3,4,5,6,6,6,6,7,8,9,0]
plt.hist(data,bins=20)

3 绘制饼图

  • pie(),饼图也只有一个参数 x
  • 饼图适合展示各部分占总体的比例,条形图适合比较各部分的大小
data = [1,1,2,2,2,3,4,5,6,6,6,6,7,8,9,0]
plt.hist(data,bins=20)

4 散点图

  • scatter(), 因变量随自变量而变化的大致趋势
x = np.array([1,3,5,7,9])
y = x**2-3
plt.scatter(x,y)

总结

        这篇文章提供了对数据分析的全面介绍,包括数据分析的定义、流程、Python中常用的数据分析工具库,以及numpy和pandas的基础知识。 数据分析是一个广泛应用的领域,通过使用合适的工具和方法对数据进行处理和分析,可以提取出有用的信息和知识,帮助企业和个人作出更好的决策。​​​​​​​

Python数据分析-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值