我有一个如下所示的数据框:
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
我希望获得帧中所有其他值的总和/均值/等。
如果您需要我发布更多数据以帮助解答,请告诉我。非常感谢。
答案 0 :(得分:1)
使用agg
(聚合)并提供功能列表。默认的聚合函数应该被识别为字符串(即count,sum,unique ...),但你也可以定义自己的
groups.agg(['sum', 'count', lambda x : list(x)])