python数据分析pandas包入门学习(二)基本功能


本文参考《利用Python进行数据分析》的第五章 pandas入门

2基本功能介绍操作Series和DataFrame中的数据的基本手段。重新索引reindex当调用Series的reindex将会根据新索引进行重排;当某个索引值当前不存在,就引入缺失值;fill_value可以给缺失值赋值。

method选项:



对于DataFrame,reindex可以修改索引(行)、列,或者两个都修改。如果只传入一个序列,则会修改索引(行):

也可以使用ix()进行重新索引,比reindex更简洁:


丢弃指定轴上的项drop()


索引、选取和过滤两种方式进行索引:普通的python切片&利用标签切片对Series进行索引:

注意:利用标签切片运算与普通的Python切片运算不同,其末端是包含的:

对DataFrame进行索引就是获取一个或多个列:

通过切片或布尔型数组选取行:

通过布尔型DataFrame进行索引:

也可以通过ix从DataFrame中选取行和列的子集:

可以看到,pandas对象中的数据的选取和重排方式很多。下表简单总结了针对DataFrame数据的选取和重排方式:

算术运算和数据对齐pandas最重要的一个功能是,可以对不同索引的对象进行算术运算。

对DataFrame,同时发生在行和列上:

在算术方法中填充值当索引无法配对时填充一个特殊值(如0)


类似的,在对Series和DataFrame重新索引时,也可以指定一个填充值:

DataFrame和Series之间的运算先看一个二维数组与其某行只差:


DataFrame和Series之间的运算也差不多:

如果某个索引值在DataFrame的列或Series的索引中找不到,则两个对象会被重新索引成并集,并在没有匹配的索引中插入NaN值

DataFrame列上的操作,加上axis=0:


函数应用和映射numpy的nfuncs(元素级数组方法)也可用于操作pandas对象:

一种常见的操作是,将函数应用到各列或行,得到一维数组,可通过apply()方法实现:

除标量外,传递给apply的函数还可以返回由多个值组成的Series:

此外,元素级的PYTHON函数可是可用的,例如你想把frame中各个浮点值的格式化字符串,可使用applymap()方法:
应用于Series时则是map()方法:
排序和排名sort_index():对行或列索引进行排序:对于Series对于DataFrame

对于DataFrame

默认为升序,通过如下设置,可降序排序:

sort_index(by=):根据一个或多个列中的值进行排序:

order():Series按值排序,NaN默认被放到末尾

rank():排名,增设一个排名值,从1开始默认情况下,并列的会分配一个平均值作为排名:

也可根据值在元数据中出现的顺序给出排名:


使用降序,则加上ascending=False

method选项:

对于DataFrame,则由axis来控制对行排名或列排名:

带有重复值的轴索引虽然许多Pandas的函数(如reindex)都要求标签唯一,但也有索引不唯一的情况:

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

数据选取时,索引对应多个值,则返回一个Series;对应单个则返回一个标量:


对于DataFrame也一样:


智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告