[读书笔记] Python数据分析 (五) pandas入门

 

pandas: 基于Numpy构建的数据分析库

pandas数据结构:Series, DataFrame

Series: 带有数据标签的类一维数组对象(也可看成字典)

values, index

缺失数据检测:pd.isnull(), pd.notnull(), Series对象的实例方法

Series对象本身及其索引都有一个name属性,和pandas其他关键功能关系很密切

DataFrame: 表格型数据结构,列和行都有索引

获取DataFrame列:字典标记方式,或者属性方式(frame2['state']/frame2.state)

获取DataFrame行:ix()方法

通过索引方式返回的列只是相应的数据视图,而不是副本,Series的Copy方法可以显示地复制列

DataFrame的index和column也有name属性,可以自己设置

索引对象:pandas索引对象负责管理轴标签和其他元数据,构建Series或者DataFrame时,所用到的任何数组或者其他序列的标签会被转换成一个Index. Index对象是不可以修改(immutable)的.

Index属性

 

基本功能

重新索引:创建一个适合新索引的对象reindex()

指定丢弃对象:drop()

索引选取和过滤:ix()

算术运算和数据对齐

pandas可以对不同索引对象进行算术运算,对不重叠值自动填充NA

在算术方法中填充值:fill_value

DataFrame和Series之间的运算:broadcast()

默认情况下DataFrame和Series之间的算术运算会将Series的索引匹配到DataFrame列,然后沿着行向下传播;如果想匹配行且在列上广播,必须使用算术运算方法

函数应用和映射

numpy的ufuncs(元素级数组方法),也可以用于操作pandas对象

DataFrame的apply()方法,可以将函数应用到行或者列形成的一维数组

排序和排名

排序:

sort_index() 对行或者列的索引排序(按照字典顺序)

sort_index(by = ) 按照一个或者多个列中值进行排序

Series按值进行排序, order方法

排名:

rank()

带有重复值的轴索引

索引的is_unique()属性可以告诉你它的值是否是唯一的

 

汇总和计算描述性统计

sum()

mean()

describe()

描述和汇总统计函数

 相关系数和协方差

对参数对进行计算得到,Series和DataFrame方法

唯一值,值计数,以及成员资格

唯一值:unique()方法

值计数:value_counts()方法计算一个Series中各个值出现的频率

成员资格:isin, 用于判断矢量化集合的成员资格,可以选取Series或DataFrame列中数据的子集

处理缺失数据

过滤缺失数据:dropna

对于DataFrame对象,dropna默认丢弃任何含有缺失值的行; dropna(how = 'all') 丢弃全为NA那些行. 

如果是针对列,传入axis = 1便可

填充缺失数据:fillna

传入常数值:所有na被替换为常数值

传入字典:不同的列填充不同的值

默认返回新的对象,但是也可以就地修改 inplace = TRUE

 

层次化索引:数据重塑和基于分组的操作(透视表)

stack和unstack

对DataFrame来说,每条轴都可以有分层索引.

根据级别进行汇总:DataFrame和Series的描述和汇总统计都用一个level选项. 

使用列作为行索引,将行索引变为DataFrame的列:set_index() 相反reset_index()

 

posted @ 2017-12-09 14:05  VincentCheng  阅读(282)  评论(0编辑  收藏  举报