gpt4 book ai didi

python - 如何在聚合函数中选择多列?

转载 作者:太空宇宙 更新时间:2023-11-03 20:32:17 25 4
gpt4 key购买 nike

我有这样的数据:

A,B,C,D
1,50,1 ,3.9
2,20,22,1.5
3,10,10,2.3
2,15,11,1.8
1,16,13,4.2

我想按A对它们进行分组,我将mean表示为BC并求和对于 D
解决方案如下:

df = df.groupby(['A']).agg({
'B': 'mean', 'C': 'mean', 'D': sum
})

我想知道是否有一种方法可以为同一函数选择多个列,而不是像 BC 那样重复它

最佳答案

如果每列最多需要一个聚合,则可以将聚合存储在字典 {func: col_list} 中,然后在聚合时将其解压。

d = {'mean': ['B', 'C'], sum: ['D']}

df.groupby(['A']).agg({col: f for f,cols in d.items() for col in cols})
# B C D
#A
#1 33.0 7.0 8.1
#2 17.5 16.5 3.3
#3 10.0 10.0 2.3

关于python - 如何在聚合函数中选择多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57419302/

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