作者:fuvogsda99363818 | 来源:互联网 | 2022-12-08 19:26
我在熊猫中有以下数据框
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
我正在使用以下命令在熊猫中做到这一点
df1= df[['Balance','ATM_drawings']].groupby('ID', as_index = False).agg(['mean', 'sum']).reset_index()
但是,它没有给出我想要得到的。
1> jpp..:
您可以使用字典为每个系列指定聚合函数:
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
或者您可以d
通过定义dict.fromkeys
:
d = dict.fromkeys(('Balance', 'ATM_drawings'), ['mean', 'sum'])