我有我的df多索引列。我所有的值都是浮点型的,我想在多索引的第一级合并值。请参阅下面的详细信息。
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
值实际上是添加的(我只是不想这样做:))。底线是,我只是想升级(我猜是更高的级别),并在索引中添加所有值。请让我知道一个好的方法来做到这一点。谢谢!
2条答案
按热度按时间b91juud31#
我相信你要找的是第一个坐标轴沿着的
groupby
。在旧版本的pandas上,此方法也有效:
sum
的level
参数意味着分组。就性能而言,上面概述的两种方法之间几乎没有任何区别(后者快了几个滴答声)。
rkue9o1l2#
请记住,
df.sum(level, axis)
只有在将列设置为多索引时才有效。例如,如果您的数据是这种形式,则必须使用
df.groupby(level=n).sum(axis=1)
如果你想跳过
groupby
这是个有趣的错误