gpt4 book ai didi

python - Pandas Dataframe 按两列分组并汇总一列

转载 作者:行者123 更新时间:2023-11-28 21:38:36 25 4
gpt4 key购买 nike

我有以下格式的 pandas 数据框:

d = {'buyer_code': ['A', 'B', 'C', 'A', 'A', 'B', 'B', 'A', 'C'], 'dollar_amount': ['2240.000', '160.000', '300.000', '10920.000', '10920.000', '235.749', '275.000', '10920.000', '300.000']}
df = pd.DataFrame(data=d)
df

这是我的数据框的样子:

    buyer_code  dollar_amount
0 A 2240.000
1 B 160.000
2 C 300.000
3 A 10920.000
4 A 10920.000
5 B 235.749
6 B 275.000
7 A 10920.000
8 C 300.000

我使用 groupby 列出了每个买家以及相应的美元金额。

df.groupby(['buyer_code', 'dollar_amount']).size()

这是结果:

buyer_code  dollar_amount
A 10920.000 3
2240.000 1
B 160.000 1
235.749 1
275.000 1
C 300.000 2
dtype: int64

现在我想要 dollarAmount 乘以它的计数,然后是每个买家的所有金额的总和。

Lets say for example buyer_code "A" should have (10920.000 * 3) + (2240.000 * 1)

结果应该是这样的:

buyer_code  dollar_amount
A 35000
B 670.749
C 600.000

我怎样才能得到这个输出?

最佳答案

使用groupby + 聚合sum:

df['dollar_amount'] = df['dollar_amount'].astype(float)
a = df.groupby('buyer_code', as_index=False).sum()
print (a)
buyer_code dollar_amount
0 A 35000.000
1 B 670.749
2 C 600.000

关于python - Pandas Dataframe 按两列分组并汇总一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48018035/

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