sfa*_*tor 7 python aggregate pandas
我的数据有一个分类列,该列将数据和其他列分组在 dataframe 中df。
id subid value
1 10 1.5
1 20 2.5
1 30 7.0
2 10 12.5
2 40 5
Run Code Online (Sandbox Code Playgroud)
subid我需要的是一列,其中包含每个中每个值的平均值id。例如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
Run Code Online (Sandbox Code Playgroud)
现在,我尝试通过执行以下操作来获取 id_sum 列:
df['id_sum'] = df.groupby('id')['value'].sum()
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有像希望的那样发挥作用。我的最终目标是获得proportion专栏。获得它的正确方法是什么?
开始了
df['id_sum'] = df.groupby('id')['value'].transform('sum')
df['proportion'] = df['value'] / df['id_sum']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10149 次 |
| 最近记录: |