对 pandas 系列中的多索引级别进行总结

2024-01-23

我想对具有 3 级多重索引的系列中的一个级别进行求和(边缘化),以生成具有 2 级多重索引的系列。例如,如果我有以下内容:

ind = [tuple(x) for x in ['ABC', 'ABc', 'AbC', 'Abc', 'aBC', 'aBc', 'abC', 'abc']]
mi = pd.MultiIndex.from_tuples(ind)
data = pd.Series([264, 13, 29, 8, 152, 7, 15, 1], index=mi)

A  B  C    264
      c     13
   b  C     29
      c      8
a  B  C    152
      c      7
   b  C     15
      c      1

我想总结一下C变量产生以下输出:

A  B    277
   b     37
a  B    159
   b     16

Pandas 做到这一点的最佳方法是什么?


如果您知道您总是想要聚合前两个级别,那么这非常简单:

In [27]: data.groupby(level=[0, 1]).sum()
Out[27]:
A  B    277
   b     37
a  B    159
   b     16
dtype: int64
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 pandas 系列中的多索引级别进行总结 的相关文章

随机推荐