问题描述
df[‘TotalCount’] = df.groupby(‘Group’)[‘Count’].transform(‘sum’)
这里讨论了其他一些选项。
解决方法
我有一个简单的任务,我想知道是否有更好/更有效的方法。我有一个看起来像这样的数据框:
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')
是否有更好/更干净的方法将这些值直接添加到数据框中?
谢谢您的帮助。