一,什么是数据分析?
数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论的过程。
数据分析可帮助人们作出判断,以便采取适当行动
二,数据分析过程?
数据收集———–数据处理—————-数据分析—————数据展现
三,数据分析都有哪些工具?
SAS(statistical analysis system ):SAS公司的统计分析软件,强大的数据库整合平台,做离线的分析或者模型用,价格昂贵,服务于银行或者大企业
SPSS(Statistical Product and Service Solutions,统计产品与服务解决方案):IBM公司产品,用于统计学分析运算、数据挖掘,预测分析和决策支持任务的
R/MATLAB:适合做学术性质的数据分析,实际应用上需要额外转换为python和scala来实现
scala:函数式编程语言,入门门槛高,开发效率高,配合spark适合大规模数据分析和处理,scala运行环境JVM
python:数据工程领域和机器学习领域有很多成熟的架构和算法库,完全可以只用python可以构建以数据为中心的应用程序,在数据工程领域和机器学习领域,python非常流行
四,开发环境
umpy:Python 科学计算的基础包
安装
pip3 install numpy
Pandas:强大的分析结构化数据的工具集
安装
pip3 install pandas
Numpy: Matplotlib:python中强大的画图模块
scipy:基于Numpy提供做科学计算的工具集
五,关于csv文件?
数据加载的两种方式:np.loadtxt()
数据加载np. genfromtxt()
六,关于Numpy:
Numpy:提供了一个在Python中做科学计算的基础库,重在数值计算,主要用于多维数组(矩阵)处理的库。
用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多。
本身是由C语言开发,是个很基础的扩展,Python其余的科学计算扩展大部分都是以此为基础。
高性能科学计算和数据分析的基础包
ndarray,多维数组(矩阵),具有矢量运算能力,快速、节省空间
ndarray数组属性:
ndim属性:维度个数
shape属性:维度大小
dtype属性:数据类型
生成指定维度大小(3行4列)的随机多维浮点型数据(二维),rand固定区间0.0 ~ 1.0
arr = np.random.rand(3, 4)
ndarray数组中的统计函数:np.std(), np.var():所有元素的标准差,所有元素的方差,参数是 number 或 array
方差和标准差:衡量数据和期望值之间的偏离值
求方差:所有元素都和平均数的差的平方的平均数
元素去重排序函数:np.unique():找到唯一值并返回排序结果,类似于Python的set集合
一,数据的可视化工具
python 的 2D绘图库,为Python构建一个Matlab式的绘图接口,通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等
Matplotlib是最常用绘图库,功能上能够满足我们的应用
serborn是在matplotlib的基础上进行了更高级的API封装,是一个补充
Bokeh 针对web
d3.js 最高级的绘图工具,js来写
1,pyploy模块包含了常用的matplotlib API函数
导入:
import matplotlib.pyplot as plt
2 ,创建画布:
figure可以理解为画布
如果不创建figure对象,matplotlib自动创建一个figure对象
代码
fig = plt.figure()
print(type(fig))
3,快速绘图:
arr = np.random.randn(100)
plt.plot(arr)
plt.show()
4,Subplot
可以通过add_subplot来分割figure,表示可以在figure的不同位置上作图
5,散点图 scatter方法:
参数1:x轴的坐标
参数2: y轴的坐标
代码
x = [1,2,3,4]
y = [2,4,5,8]
plt.scatter(x,y)
plt.show()
6,柱形图bar,饼状图
数据分析工具Pandas
一,什么是Pandas?
Pandas的名称来自于面板数据(panel data)和Python数据分析(data analysis)。
Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了高级数据结构和数据操作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一。
二,Pandas的数据结构?
Series是一种类似于一维数组的对象(有索引,有值,索引自定创建)
可以通过list构建,也可以通过dict构建
DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同类型的值。DataFrame既有行索引也有列索引,数据是以二维结构存放的。
通过ndarray构建DataFrame,也可以通过dict构建
Series索引:指定行索引,通过行索引访问数据,切片索引,不连续索引,bool索引
DataFrame索引:指定列索引,通过列索引访问数据,不连续索引
小结:把python的列表,转换成numpy的数组ndarray np.array()
numpy不能对日期进行直接处理
datime.datetime.strptime()可以把字符串转换成日期格式