gpt4 book ai didi

python - 仅通过 Pandas 数据框中的一些键聚合列?

转载 作者:行者123 更新时间:2023-11-28 22:52:42 24 4
gpt4 key购买 nike

我有一个这样的数据框:

k1     k2     k3     v1     v2
foo bar baz 20 40
foo bar baz 10 30
foo bar baz 5 20
foo bar qux 10 20
foo bar qux 10 30
foo bar qux 15 20
bar baz foo 10 15
bar baz foo 20 35
bar baz foo 10 40

我想做的基本上是通过所有三个 k* 列聚合(求和)v1,但仅通过 k1 和 k2 聚合 v2,所以我最终得到这样的结果:

k1     k2     k3     v1     v2
foo bar baz 35 160
foo bar qux 35 160
bar baz foo 40 90

换句话说,在聚合版本中,v2 基本上忽略了 k3 的存在,并且两行中只有 k1 和 k2 的总数。无论我尝试什么,我似乎都无法做到这一点,但我确定我只是错过了一些东西。有人知道怎么做吗?

最佳答案

我认为没有办法绕过两次 groupby。然后加入。

In [22]: df1 = df.groupby(['k1', 'k2', 'k3'])['v1'].sum()

In [23]: df2 = df.groupby(['k1', 'k2'])['v2'].sum()

In [24]: df1.reset_index().join(df2, on=['k1', 'k2'])
Out[24]:
k1 k2 k3 v1 v2
0 bar baz foo 40 90
1 foo bar baz 35 160
2 foo bar qux 35 160

关于python - 仅通过 Pandas 数据框中的一些键聚合列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20223876/

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