我的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)
该level
参数sum
意味着分组。
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
在性能方面,上面概述的两种方法几乎没有区别(后者快了几个faster)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句