gpt4 book ai didi

python - 在 pandas MultiIndex DataFrame 中按级别对列求和

转载 作者:行者123 更新时间:2023-11-28 20:34:39 24 4
gpt4 key购买 nike

我的 df 有多个索引列。我所有的值都是 float 的,我想将值与多索引的第一级合并。详情请见下文。

first        bar                 baz                 foo   
second one two one two one
A 0.895717 0.805244 1.206412 2.565646 1.431256
B 0.410835 0.813850 0.132003 0.827317 0.076467
C 1.413681 1.607920 1.024180 0.569605 0.875906

first bar baz foo

A (0.895717+0.805244) (1.206412+2.565646) 1.431256
B (0.410835+0.813850) (0.132003+0.827317) 0.076467
C (1.413681+1.607920) (1.024180+0.569605) 0.875906

这些值实际上是相加的(我只是不想做所有这些:))。底线是我只想升级(我猜是更高级别)并在索引中添加所有值。请让我知道一个好的方法来做到这一点。谢谢!

最佳答案

我相信您正在寻找沿第一个轴的 groupby

df.groupby(level=0, axis=1).sum()

或者(更简洁),

df.sum(level=0, axis=1)

sumlevel 参数表示分组。


df

first bar baz foo
second one two one two one two
A 2 3 3 4 10 8
B 22 16 7 3 2 26
C 4 5 1 9 6 5

df.sum(level=0, axis=1)

first bar baz foo
A 5 7 18
B 38 10 28
C 9 10 11

就性能而言,上述两种方法之间几乎没有任何区别(后者快几个滴答)。

关于python - 在 pandas MultiIndex DataFrame 中按级别对列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48272452/

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