gpt4 book ai didi

python - 如何在 pandas groupby 中聚合多列

转载 作者:太空狗 更新时间:2023-10-29 21:31:45 25 4
gpt4 key购买 nike

我使用以下输入创建了一个 pandas 数据框 mn:

keyA     state n1    n2     d1  d2
key1 CA 100 1000 1 2
key2 FL 200 2000 2 4
key1 CA 300 3000 3 6
key1 AL 400 4000 4 8
key2 FL 500 5000 5 2
key1 NY 600 6000 6 4
key2 CA 700 7000 7 6

创建了一个 sum 对象如下:

s = mn.groupby(['keyA','state'], as_index=False).sum()

如何迭代总和对象 s,以便获得以下输出:

下面结果中的 v1 列计算为 s['n1']/s['d1']

下面结果中的 v2 列计算为 s['n2']/s['d2']

keyA state  v1  v2
'key1','AL',100,500
'key1','CA',100,500
'key1','NY',100,1500
'key2','CA',100,1166
'key2','FL',100,1166

最佳答案

几乎就像您的伪代码一样编写它。

In [14]: s = mn.groupby(['keyA','state'], as_index=False).sum()

In [15]: s['v1'] = s['n1'] / s['d1']

In [16]: s['v2'] = s['n2'] / s['d2']

In [17]: s[['keyA', 'state', 'v1', 'v2']]
Out[17]:
keyA state v1 v2
0 key1 AL 100 500.000000
1 key1 CA 100 500.000000
2 key1 NY 100 1500.000000
3 key2 CA 100 1166.666667
4 key2 FL 100 1166.666667

[5 rows x 4 columns]

顺便说一句,我认为您的示例数据中有错字。第二个 n1 header 应该是 n2

关于python - 如何在 pandas groupby 中聚合多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22259241/

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