我有一个简单的任务,我想知道是否有更好/更有效的方法。我有一个如下所示的数据框:
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')
是否有更好/更清晰的方法将这些值直接添加到数据框?
感谢您的帮助。
答案 0 :(得分:14)
df['TotalCount'] = df.groupby('Group')['Count'].transform('sum')
讨论了其他一些选项here。