gpt4 book ai didi

python - 如果我想在特定列上按总和聚合,如何在 python 中应用 'groupby' ?

转载 作者:行者123 更新时间:2023-12-01 00:12:51 26 4
gpt4 key购买 nike

我有一个如下所示的数据框: image of dataframe

我不想在 leid、cp_id、run_seq、prod、curr 级别重复行,并且我想按总和 tran_amnt 进行聚合。我做了类似的事情,但它抛出了一个错误。

data_gb = data.groupby('le_id', 'cp_id', 'run_seq', 'products', 'currency').sum()

但它抛出了这个错误:

No axis named cp_id for object type

我认为这不起作用,因为数据框中存在字符串。

还有其他更好的方法可以实现我想要的吗?

编辑:

这是生成上述数据帧的代码:

import pandas  as pd
data = {'le_id' : [101]*4 + [102]*4 + [103]*3 + [104]*5 + [101],
'run_seq' : [31]*11 + [32]*6,
'cp_id' : [201, 201, 201, 201, 203, 204, 205, 205, 206, 208,
209, 202, 201, 204, 205, 208, 208],
'cp_name' : ['A', 'A', 'A', 'A', 'B', 'C', 'E', 'E', 'F',
'G', 'H', 'B', 'A', 'D', 'E', 'H', 'H'],

'products' : ['U', 'U', 'U', 'W', 'X', 'U', 'U', 'V', 'W',
'X','U', 'U', 'V', 'W', 'X', 'Z', 'U'],

'tran_amnt' : [10203, 13789, 74378, 47833, 40237, 93732,
63738, 42563, 92822, 11276, 63633, 99292, 27892,
82727, 32442, 55622, 43535],


'currency' : ['USD', 'YEN', 'USD', 'SGD', 'USD', 'INR', 'INR',
'SGD', 'USD', 'INR', 'SGD', 'SGD', 'SGD', 'SGD',
'INR', 'INR', 'INR']}

data = pd.DataFrame(data)

最佳答案

试试这个:

data_gb = data.groupby(['le_id', 'cp_id', 'run_seq', 'products', 'currency']).sum()

关于python - 如果我想在特定列上按总和聚合,如何在 python 中应用 'groupby' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59508930/

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