学习过程主要依照中国MOOC课程,感谢MOOC,感谢北理授课大佬。
单元7:Pandas库入门
Pandas是提供高性能易用数据类型和分析工具的第三方python库,可以说是基于Numpy库。
import pandas as pd
Pandas提供两个数据类型:Series(一维)、DataFrame(二维及多维),基于这两种数据类型,可以进行基本操作、运算操作、特征类操作、关联类操作等。
Series数据类型
Series类型由一组数据及与之相关的数据索引组成,索引与数据一一对应,索引可以自定义。
Series类型的创建
- 从Python列表创建,index与列表元素个数一致;
- 从标量值创建,此时不能省略index;
- 从字典类型创建,将字典直接赋给series;
- 从adarray类型创建;
Series类型的基本操作
由index和values两部分构成,操作类似于ndarray类型,也类似于Python字典类型。需要注意的是,numpy是基于维度的运算,而series是基于索引的运算。
DataFrame数据类型
DataFrame类型是由共同相同索引的一组列组成。其实是一个表格型的数据类型,每列值类型可以不同。其中既有行索引(index,axis=0),也有列索引(column,axis=1)。常用来表达二维数据。
DataFrame类型的创建
- 从二维ndarray创建;
- 从一维ndarray对象字典创建;
- 从列表类型的字典创建;
Pandas库数据类型操作
改变Series和DataFrame对象
增加或者重排:重新索引,通过.reindex()函数实现
删除:.drop()
Pandas库数据类型运算
算术运算
算术运算根据行列索引,补齐后运算,补齐时缺项填充NaN(空值),运算默认产生浮点数,采用+-*/符号进行运算的二元运算将会产生新的对象,还可以使用方法形式进行运算,如.add()、.sub()、.mul()、.div(),这些均可以选择参数。
不同维度间的运算采用广播运算,默认在1轴。
比较运算
比较运算只能比较相同索引的元素,不进行补齐,采用><>=<=!=等符号进行运算的二元运算将会产生布尔对象。
不同维度间的运算采用广播运算,默认在1轴。
单元8:Pandas数据特征分析
数据的排序
.sort_index(axis=0,ascending=True)方法在指定轴上根据索引进行排序,默认升序。
.sort_values(axis=0,ascending=True)方法在指定轴上根据数值进行排序,默认升序。
数据的基本统计分析
基本同numpy相同。
.describe()方法可以针对0轴(各列)做统计汇总,包括非空计数、均值、方差等。
数据的累计统计分析
.cumsum()、.cumprod()、.cummax()、.cummin(),分别为依次给出前1、2、……、n个数的和、积、最大值、最小值。
滚动计算(窗口计算):
.rolling(w).sum()、.rolling(w).mean()、.rolling(w).var()、.rolling(w).std()、.rolling(w).min()、.rolling(w).max(),分别为依次给出x相邻w个元素的和、平均值、方差、标准差、最大值、最小值。
数据的相关分析
.cov(),计算协方差矩阵;
.corr(),计算相关系数矩阵,Pearson、Spearman、Kendall等系数;
以上。
注:转载文章请注明出处,谢谢~