groupby对象的聚合函数给出不完整的输出

时间:2017-07-04 22:12:39

标签: python pandas

我有一个如下所示的数据框:

        A   B           C           D           ``  category    labels
7937    0   0.00137174  0.0301783   0.00137174      Foo         0
15461   0   0           0.0132548   0.0441826       Bar         1

我将帧分组为groupby对象:

groups = df.groupby('category')

如果我运行groups.count(),我会得到完整的值:

        A      B            C           D               labels
Foo     40     40           40          40              40
Bar     40     40           40          40              40   

但如果我尝试对该组进行任何算术运算,我会得到一个只有标签的框架:

groups.sum()

Category    Labels
Foo         23
Bar         9

我希望获得帧中所有其他值的总和/均值/等。

如果您需要我发布更多数据以帮助解答,请告诉我。非常感谢。

1 个答案:

答案 0 :(得分:1)

使用agg(聚合)并提供功能列表。默认的聚合函数应该被识别为字符串(即count,sum,unique ...),但你也可以定义自己的

groups.agg(['sum', 'count', lambda x : list(x)])