[英]How to sum values grouped by a categorical column in pandas?
我的數據有一個分類列,用於對數據進行分組,其他列在數據幀df
。
id subid value
1 10 1.5
1 20 2.5
1 30 7.0
2 10 12.5
2 40 5
我需要的是一個列,其中包含每個id
每個subid
的平均值。 例如, df
可能是:
id subid value id_sum proportion
1 10 1.5 11.0 0.136
1 20 2.5 11.0 0.227
1 30 7.0 11.0 0.636
2 10 12.5 17.5 0.714
2 40 5 17.5 0.285
現在,我嘗試通過執行以下操作來獲取id_sum列:
df['id_sum'] = df.groupby('id')['value'].sum()
但這似乎沒有像希望的那樣奏效。 我的最終目標是獲得proportion
列。 得到這個的正確方法是什么?
開始了
df['id_sum'] = df.groupby('id')['value'].transform('sum')
df['proportion'] = df['value'] / df['id_sum']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.