9

我有一个简单的任务,我想知道是否有更好/更有效的方法。我有一个看起来像这样的数据框:

  Group  Score  Count
0     A      5    100
1     A      1     50
2     A      3      5
3     B      1     40
4     B      2     20
5     B      1     60

我想添加一个包含组总计数值的列:

  Group  Score  Count  TotalCount
0     A      5    100         155
1     A      1     50         155
2     A      3      5         155
3     B      1     40         120
4     B      2     20         120
5     B      1     60         120

我这样做的方式是:

Grouped=df.groupby('Group')['Count'].sum().reset_index()
Grouped=Grouped.rename(columns={'Count':'TotalCount'})

df=pd.merge(df, Grouped, on='Group', how='left')

是否有更好/更清洁的方法将这些值直接添加到数据框中?

谢谢您的帮助。

4

1 回答 1

19
df['TotalCount'] = df.groupby('Group')['Count'].transform('sum')

此处讨论了其他一些选项。

于 2015-06-20T00:25:16.557 回答