gpt4 book ai didi

python - Pandas 按多列上的多个自定义聚合函数分组

转载 作者:行者123 更新时间:2023-12-05 02:30:40 24 4
gpt4 key购买 nike

给定数据:

<表类="s-表"><头>grpdata1data2data3<正文>一个212一个463b321b735

预期输出:

<表类="s-表"><头>grpsum(data1)sum(data2)/sum(data1)sum(data3)/sum(data1)<正文>一个61.1666666670.83一个100.50.6

假设自定义聚合可以依赖于多个列,而不总是一个简单的除法运算。我知道使用 SQL 查询是可能的,但如果可能的话,我对应用和聚合函数的答案很感兴趣。

最佳答案

您可以在此处使用 groupby + assign 来生成所需的聚合。您可以应用任何需要的聚合函数。

g = df.groupby('grp')
# for custom agg func use .agg(custom_agg_func)
# ^^^^^
g[['data1']].agg('sum').assign(sum2 = lambda df: g['data2'].sum()/df['data1'],
sum3 = lambda df: g['data3'].sum()/df['data1'])
# ^^^^^^
# you can use custom agg func of your choice

data1 sum2 sum3
grp
a 6 1.166667 0.833333
b 10 0.500000 0.600000

关于python - Pandas 按多列上的多个自定义聚合函数分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71783241/

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