一、汇总和计算描述统计
有些方法(如idxmix,idxmax)返回的是间接统计:
另一些方法是累计型的:
还有一种方法,既不是简约型,也不是累计型,比如describe,它用于一次性产生多个汇总统计:
对于非数值型数据,会产生另外一种统计:
相关系数与协方差
计算百分数变化:
唯一值,计数值以及成员资格
有时,你可能希望得到DataFrame中多个相关列的一张柱状图,将pandas.value_counts传给该DataFrame的apply函数,就会出现:
二、处理缺失数据
滤除缺失数据
三、层次化索引
层次化索引是pandas的一项重要功能,它使你能在一个轴上拥有多个(两个以上)索引级别。抽象点说,它使你能够以低纬度形式处理高纬度的数据。先看一个例子:
这就是带有MultiIndex索引的Series的格式化输出形式。索引之间的“间隔”表示“直接使用上面的标签”:
duiyu 一个层次化索引的对象,选取数据子集的操作很简单:
有时甚至还可以在“内层”中进行选取:
层次化索引在数据重塑和基于分组的操作(如透视表生成)中扮演着重要的角色。比如,这段数据可以通过其unstack方法被重新安排到一个DataFrame中:
对于一个DataFrame,每条轴都可以有分层索引:
各层都可以有名字。如果指定了名称,他们就会显示在控制台输出中(不要将索引名和轴标签混为一谈!!!):
重排分级顺序
有时,你需要重新调整某条轴上各个级别的顺序,或根据指定级别上的值对数据进行排序。swaplevel接受两个级别编号或名称,并返回一个互换了级别的新对象(但数据不会发生变化):
根据级别汇总统计
许多对DataFrame和Series的描述和汇总统计都有一个level选项,它用于指定在某条轴上求和的级别。再以上面的DataFrame为例,我们可以根据行或列上的级别来进行求和,如下所示:
这其实是利用了pandas的groupby功能
使用DataFrame的列
人们经常想要将DataFrame的一个或多个列当做行索引来用,或者希望将行索引变成DataFrame的列。
网友评论