2015-06-20 66 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

相關問題