大熊猫找到每组中前两名的总和

时间:2017-12-28 18:52:30

标签: python pandas group-by sum

我有一个数据框,想要找到每个组中两个最大值的总和。

我能够找到两个最大的,使用groupby,然后是nlargest。但是,这样做似乎不能保留“组”值本身,允许我计算这些前两个的总和。结果,我使用下面的代码得到错误。

import pandas as pd
df = pd.DataFrame({'group': list('aaabccaaaccbbbc'), 
               'vals': [12,341,3,2,45,24,4,51,54,21,231,21,51,31,87]})

top_2 = df.groupby('group')['vals'].nlargest(2)
top_2.groupby('group')['vals'].sum()

我的预期输出是:

a    395
b     82
c    318

0 个答案:

没有答案