学科分类
目录
数据分析

使用内置统计方法聚合数据

数据聚合,一般是指对分组中的数据执行某些操作,比如求平均值、求最大值等,并且操作后会得到一个结果集,这些实现聚合的操作称为聚合方法。Pandas中提供了用做聚合操作的agg()方法。

前面已经介绍过Pandas的统计方法,比如用于获取最大值和最小值的max()和mix(),这些方法常用于简单地聚合分组中的数据。

假设现在我们要计算某DataFrame对象中每个分组的平均数,那么可以先按照某一列进行分组,使用mean()方法应用到每个分组中,并计算出平均数,最后将再将每个分组的计算结果合并到一起,具体代码如下。

In [13]: import pandas as pd
         import numpy as np
         df = pd.DataFrame({'key1': ['A', 'A', 'B', 'B', 'A'],
                            'key2': ['one', 'two', 'one', 'two', 'one'],
                            "data1": [2, 3, 4, 6, 8],
                            "data2": [3, 5, np.nan, 3,7]})
         df

Out[13]:
 key1 key2 data1 data2
0  A one   2  3.0
1  A two   3  5.0
2  B one   4  NaN
3  B two   6  3.0
4  A one   8  7.0
In [14]: df.groupby('key1').mean() # 按key1进行分组,求每个分组的平均值
Out[14]:
​     data1 data2
key1         
A   4.333333  5.0
B   5.000000  3.0

上述示例中,把key1作为分组键,将df对象拆分为A组和B组,然后调用mean()函数分别作用于A、B两组中,计算得到每组的平均值,最后将计算结果进行合并。

需要注意的是,如果参与运算的数据中有NaN值,则会自动地将这些NaN值过滤掉。

点击此处
隐藏目录