2015-06-20 65 views
3

我有一个简单的任务,我想知道是否有更好/更有效的方法来做。我有一个数据帧,看起来像这样:将群组总数添加到熊猫数据框中的最佳方法

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

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

感谢您的帮助。

回答

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

讨论了其他一些选项here

相关问题