将组总计添加到 Pandas 数据框中的最佳方法

2024-03-30

我有一个简单的任务,我想知道是否有更好/更有效的方法来完成。我有一个如下所示的数据框:

  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')

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

谢谢您的帮助。


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

讨论了一些其他选项here https://stackoverflow.com/questions/12200693/python-pandas-how-to-assign-groupby-operation-results-back-to-columns-in-parent.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将组总计添加到 Pandas 数据框中的最佳方法 的相关文章

随机推荐