簡體   English   中英

如何對pandas中分類列分組的值進行求和?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM