gpt4 book ai didi

python - 如何对 Pandas 中的多列进行分组和聚合

转载 作者:太空狗 更新时间:2023-10-30 00:37:45 25 4
gpt4 key购买 nike

我在 Pandas 中有以下数据框

 ID     Balance     ATM_drawings    Value
1 100 50 345
1 150 33 233
2 100 100 333
2 100 100 234

我想要那种格式的数据

 ID     Balance_mean    Balance_sum     ATM_Drawings_mean    ATM_drawings_sum 
1 75 250 41.5 83
2 200 100 200 100

我正在使用以下命令在 pandas 中执行此操作

 df1= df[['Balance','ATM_drawings']].groupby('ID', as_index = False).agg(['mean', 'sum']).reset_index()

但是,它并没有给出我想要得到的东西。

最佳答案

您可以使用字典为每个系列指定聚合函数:

d = {'Balance': ['mean', 'sum'], 'ATM_drawings': ['mean', 'sum']}
res = df.groupby('ID').agg(d)

# flatten MultiIndex columns
res.columns = ['_'.join(col) for col in res.columns.values]

print(res)

Balance_mean Balance_sum ATM_drawings_mean ATM_drawings_sum
ID
1 125 250 41.5 83
2 100 200 100.0 200

或者你可以通过dict.fromkeys定义d:

d = dict.fromkeys(('Balance', 'ATM_drawings'), ['mean', 'sum'])

关于python - 如何对 Pandas 中的多列进行分组和聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51653170/

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