gpt4 book ai didi

python - 计算分组 pandas 数据框中的总和

转载 作者:行者123 更新时间:2023-11-30 23:15:47 24 4
gpt4 key购买 nike

我需要表达数据中每一行占整体的百分比。技巧是我需要通过 groupby 调用将百分比绑定(bind)到父分组。我的 DF 目前看起来像这样:

category    Segment     Pageviews
Sitting Age 25-34 2268
Age 35-44 2942
Age 45-53 2209
Age 55+ 3317
Standing Age 25-34 2193
Age 35-44 1664
Age 45-53 1874
Age 55+ 1647
Kneeling Age 25-34 680
Age 35-44 494
Age 45-53 876
Age 55+ 1489

我希望实现的是每个年龄范围的坐、站、跪分别所占的百分比。

category    Segment     Pageviews  Percentage
Sitting Age 25-34 2268 21%
Age 35-44 2942 27%
Age 45-53 2209 20%
Age 55+ 3317 31%
Standing Age 25-34 2193 ...
Age 35-44 1664 ...
Age 45-53 1874 ...
Age 55+ 1647
Kneeling Age 25-34 680
Age 35-44 494
Age 45-53 876
Age 55+ 1489

最佳答案

您可以使用:

>>> df['Percentage'] = df.groupby('category')['Pageviews']\
.apply(lambda g: 100*g / g.sum())

category Segment Pageviews Percentage
0 Sitting Age25-34 2268 21.125186
1 Sitting Age35-44 2942 27.403130
2 Sitting Age45-53 2209 20.575633
3 Sitting Age55+ 3317 30.896051
4 Standing Age25-34 2193 29.723502
5 Standing Age35-44 1664 22.553538
6 Standing Age45-53 1874 25.399837
7 Standing Age55+ 1647 22.323123
8 Kneeling Age25-34 680 19.214467
9 Kneeling Age35-44 494 13.958745
10 Kneeling Age45-53 876 24.752755
11 Kneeling Age55+ 1489 42.074032

关于python - 计算分组 pandas 数据框中的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28102096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com