Pandas 多索引聚合

阿米特

我有一个多索引的熊猫数据框,比如 -

   a             b           c
c1   c2      c1    c2     c1   c2   
9   10.0     162  165     16  15.0  

我想创建另一列,其中包含该行的 c1 列和 c2 列的总和,例如 -

   a             b           c          total
c1   c2      c1    c2     c1   c2      c1   c2
9   10.0     162  165     16  15.0     187  190

考虑到可以有 n 个级别 1 列(a、b、c、d...)和 n 个级别 2 列(c1、c2、c3、c4...),我如何实现相同的目标

谢谢!

NK03

这是一种方法:

  1. 使用level=1求和axis=1
  2. 将结果转换为多索引
  3. 用于pd.concat将结果与原始 df 连接。
df1 = df.sum(level=1, axis=1)
df1.columns = pd.MultiIndex.from_product([['total'], df1.columns])
df = pd.concat([df, df1], 1)

输出:

   a          b        c        total       
  c1    c2   c1   c2  c1    c2     c1     c2
0  9  10.0  162  165  16  15.0  187.0  190.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章