gpt4 book ai didi

python - 如何对多列进行分组并计算pandas中的百分比

转载 作者:行者123 更新时间:2023-12-01 09:03:47 25 4
gpt4 key购买 nike

我在 pandas 中有以下数据框

  Date         Code       ID        Quantity
16-08-2018 156 1 10
16-08-2018 156 2 10
16-08-2018 156 3 10
16-08-2018 156 4 10
17-08-2018 157 1 30
17-08-2018 157 2 20
17-08-2018 157 3 30
17-08-2018 157 4 20

我想按日期和代码计算 ID 占总数量组的百分比份额。我想要的数据框是

  Date         Code       ID        Quantity      Perc
16-08-2018 156 1 10 25
16-08-2018 156 2 10 25
16-08-2018 156 3 10 25
16-08-2018 156 4 10 25
17-08-2018 157 1 30 30
17-08-2018 157 2 20 20
17-08-2018 157 3 30 30
17-08-2018 157 4 20 20

如何在 pandas 中做到这一点?

最佳答案

使用 GroupBy + transform'sum':

g = df.groupby(['Date', 'Code'])['Quantity'].transform('sum')
df['Perc'] = df['Quantity'] / g * 100

结果:

         Date  Code  ID  Quantity  Perc
0 16-08-2018 156 1 10 25
1 16-08-2018 156 2 10 25
2 16-08-2018 156 3 10 25
3 16-08-2018 156 4 10 25
4 17-08-2018 157 1 30 30
5 17-08-2018 157 2 20 20
6 17-08-2018 157 3 30 30
7 17-08-2018 157 4 20 20

关于python - 如何对多列进行分组并计算pandas中的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52243403/

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