pandas
pandas的数据结构
Series
import pandas as pd
data = pd.Series([1,3,4,5,-9])
Series的字符串表现形式为:索引在左边,值在右边。
当我们没有为数据指定索引时,它会自动创建一个0到N-1(N为数据的长度)的整数型索引。
获取Series的数组表示形式和索引对象:
创建一个带指定索引的Series:
data = pd.Series([1,2,3], index=['a','b','c'])
通过字典来创建Series:
检测缺失数据:
在pandas中,可以用isnull和notnull函数
Series和索引的name属性
DataFrame
创建DataFrame
增加一列
可以输入给DataFrame构造器的数据
索引对象
pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)
基本功能
重新索引
pandas对象的reindex方法,其作用是创建一个适应新索引的新对象。
丢弃指定轴上的项
丢弃某条轴上的一个或多个项很简单,只要有一个索引数组或列表即可。
索引、选取和过滤
利用标签的切片运算与普通的Python切片运算不同,其切片运算为闭区间。
算数运算和数据对齐
pandas可以对不同索引对象进行算术运算。在将对象相加时,如果存在不同的索引对,则结果的索引就是该索引对的并集。
自动的数据对齐操作在不重叠的索引处引入了NA值,缺失值会在算术运算过程中传播。
对于DataFrame,对齐方式会同时发生在行和列上。
函数的应用和映射
DataFrame 的apply方法可以实现将函数应用到由各列或行所形成的一维数组上。
此外,元素级的Python函数也是可以用的,使用applymap方法即可。
排序和排名
在排序时,任何缺失值默认都会被放到Series的末尾。
汇总和计算描述统计
描述和汇总统计
相关系数和协方差
Series 的 corr方法用于计算两个Series中重叠的、非NA的、按索引对齐的值的相关系数。与此类似,cov用于计算协方差。
利用DataFrame 的corrwith方法,可以计算其列或行跟另一个Series或DataFrame之间的相关系数。
唯一值、值计数以及成员资格
处理缺失数据
滤除缺失数据
我们可以使用dropna来过滤掉缺失的数据
对于DataFrame传入参数how="all"将只丢弃全为NA的那些行
如果要丢弃列的话,只需要传入axis=1即可
如果你想要留下一部分观测数据,可以用thresh参数实现此目的
填充缺失数据
fillna方法是填充数据的最主要的函数
通过一个常数调用fillna就会将缺失值替换为那个常数
若是通过一个字典调用fillna,就可以实现对不同的列填充不同的值
fillna默认会返回新对象,但也可以对现有对象进行就地修改
层次化索引
层次化索引可以使你以低维度形式处理高维度数据
层次化索引在数据重塑和基于分组的操作(如透视表生成)中起着重要的作用。