1、pandas库介绍
Pandas是Python第三方库,提供高性能易用数据类型和分析工具。通过import pandas as pd
引用。
Pandas基于NumPy实现,常与NumPy和Matplotlib一同使用。
Pandas有两个数据类型:Series, DataFrame,基于上述数据类型进行各类操作,包括基本操作、运算操作、特征类操作、关联类操作。
2、pandas库的Series类型
Series是一维带“标签”数组,Series基本操作类似ndarray和字典,根据索引对齐:index –> data
Series类型由一组数据及与之相关的数据索引组成:
index_0 data_a
index_1 data_b
index_2 data_c
……
此处index=
作为第二个参数,可以省略。
(一)Series类型创建
Series类型可以由如下类型创建:
● Python列表,index与列表元素个数一致
● 标量值,index表达Series类型的尺寸pd.Series(25,index=['a','b','c'])
,此处不能省略index
● Python字典,键值对中的“键”是索引,index从字典中进行选择操作pd.Series({'a':9,'b':8,'c':7},index=['a','b','c'])
,index从字典中进行选择操作
● ndarray,索引和数据都可以通过ndarray类型创建pd.Series(np.arange(5),index=np.arange(9,4,-1))
● 其他函数,range()函数等
(二)Series类型基本操作
● Series类型包括index和values两部分
● Series类型的操作类似ndarray类型
①索引方法相同,采用[]
②NumPy中运算和操作可用于Series类型
③可以通过自定义索引的列表进行切片
④ 可以通过自动索引进行切片,如果存在自定义索引,则一同被切片
● Series类型的操作类似Python字典类型
①通过自定义索引访问
②保留字in操作
③使用.get()方法
(三)Series类型对齐操作
Series + Series
,Series类型在运算中会自动对齐不同索引的数据
(四)Series类型name属性
Series对象和索引都可以有一个名字,存储在属性.name
中
Series对象可以随时修改并即刻生效
3、pandas库的DataFrame类型
DataFrame是二维带“标签”数组,DataFrame基本操作类似Series,依据行列索引
DataFrame类型由共用相同索引的一组列组成:
DataFrame是一个表格型的数据类型,每列值类型可以不同;
DataFrame既有行索引、也有列索引;
DataFrame常用于表达二维数据,但可以表达多维数据。
DataFrame类型可以由如下类型创建:
● 二维ndarray对象
● 由一维ndarray、列表、字典、元组或Series构成的字典
从一维ndarray对象字典创建:
从列表类型的字典创建:
● Series类型
● 其他的DataFrame类型
3、pandas库的数据类型操作
如何改变Series和DataFrame对象?
①增加或重排:重新索引.reindex()
能够改变或重排Series和DataFrame索引.reindex(index=None, columns=None, …)
的参数Series
和DataFrame
的索引是Index
类型Index
对象是不可修改类型
索引类型常用方法:
②删除:drop.drop()
能够删除Series和DataFrame指定行或列索引
3、pandas库的数据类型计算
(一)算数运算法则
算术运算根据行列索引,补齐后运算,运算默认产生浮点数
补齐时缺项填充NaN (空值)
二维和一维、一维和零维间为广播运算
采用+ ‐ * /符号进行的二元运算产生新的对象
方法形式的运算如下:
(二)比较运算法则
比较运算只能比较相同索引的元素,不进行补齐
二维和一维、一维和零维间为广播运算
采用> < >= <= == !=等符号进行的二元运算产生布尔对象
同维度运算,尺寸一致,不同维度,广播运算,默认在1轴。
4、pandas数据类型特征分析
(一)数据的排序
.sort_index()
方法在指定轴上根据索引进行排序,默认升序.sort_index(axis=0, ascending=True)
.sort_values()
方法在指定轴上根据数值进行排序,默认升序Series.sort_values(axis=0, ascending=True)
DataFrame.sort_values(by, axis=0, ascending=True)
by : axis轴上的某个索引或索引列表
NaN统一放到排序末尾
(二)数据的基本统计分析
适用于Series和DataFrame类型
适用于Series类型
(三)数据的累计统计分析
适用于Series和DataFrame类型,累计计算
适用于Series和DataFrame类型,滚动计算(窗口计算)
(四)数据的相关分析
两个事物,表示为X和Y,如何判断它们之间的存在相关性?
相关性:
● X增大,Y增大,两个变量正相关
● X增大,Y减小,两个变量负相关
● X增大,Y无视,两个变量不相关
协方差:
两个事物,表示为X和Y,如何判断它们之间的存在相关性?
● 协方差>0, X和Y正相关
● 协方差<0, X和Y负相关
● 协方差=0, X和Y独立无关
Pearson相关系数:
r取值范围[‐1,1]
● 0.8‐1.0 极强相关
● 0.6‐0.8 强相关
● 0.4‐0.6 中等程度相关
● 0.2‐0.4 弱相关
● 0.0‐0.2 极弱相关或无相关
相关分析函数:
适用于Series和DataFrame类型:
实例:房价增长与M2增幅相关关系: