gpt4 book ai didi

python - 如何获得相对于其他变量的类别总和?

转载 作者:行者123 更新时间:2023-12-01 07:28:28 27 4
gpt4 key购买 nike

我有一个包含多列的 DataFrame,但我将显示我需要的列:

 DF.head():

Modality Year Month
Cash 2019 1
Credit Card 2019 3
Bank Transfer 2018 5

我想要做的是获得每年每个月每种模式的总和,如下所示:

  Year       Month      Modality 
Cash 1500
1 Credit Card 1400
Bank Transfer 1245

Cash 1423
2018 2 Credit Card 1222
Bank Transfer 2125

这就是我尝试的方法:

   Number_Of_Modality = DF.groupby(['Year','Month','Modality'])['Modality'].count()

这就是我得到的:

     Year  Month  Channel
2018 1 Card 16694
Credit Card 663
Bank Transfer 29
2 Card 15818
Credit Crad 2
3 Bank Transfer 11839
Card 587
Credit Card 22
.
.
.
2019 Card 663
Credit Card 29
2 Bank Transfer 15818
.
.

如果我所做的是正确的,有什么建议吗? ,谢谢。

最佳答案

在您提供的 DataFrame 中,ModalityYearMonth 是列分组依据。如果您想要求和某些内容,则必须有其他一些列 - 值对每个组进行求和。我假设此列名为 Val

因此,要对您定义的每个组的 Val 值求和,请运行:

df.groupby(['Year','Month','Modality']).Val.sum()

如果要求和的列具有不同的名称,请根据需要进行更改。

或者也许您想计算每年/每月的模态行?

在这种情况下,您应该:

  • 像以前一样对行进行分组,
  • 为每个组运行count(),以计算当前组中的行数。

所以代码应该是:

df.groupby(['Year', 'Month', 'Modality']).count()

关于python - 如何获得相对于其他变量的类别总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57329326/

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