微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决将群组总计添加到Pandas数据框中的最佳方法

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

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

谢谢您的帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。