Reindex系列输出与文档中的pandas示例不匹配

时间:2018-05-01 06:12:06

标签: python pandas multi-index

我有一系列如下。

In [53]: aStack
Out[53]: 
Age_cat  S0102_gender
_1       Male            167.047843
         Female          211.292291
         All             378.340134
_2       Male            132.055426
         Female          171.780338
         All             303.835764
All      Male            299.103269
         Female          383.072629
         All             682.175898
dtype: float64

In [54]: 

我想将系列转换为看起来像这样的东西。

In [53]: aStack
Out[53]: 
Age_cat  S0102_gender
_1       Male            167.047843
_1       Female          211.292291
_2       All             378.340134
_2       Male            132.055426
_2       Female          171.780338
_2       All             303.835764
All      Male            299.103269
All      Female          383.072629
All      All             682.175898

我有一个元组列表。

combos
Out[54]: 
[('_1', 'Male'),
 ('_1', 'Female'),
 ('_1', 'All'),
 ('_2', 'Male'),
 ('_2', 'Female'),
 ('_2', 'All'),
 ('All', 'Male'),
 ('All', 'Female'),
 ('All', 'All')]

根据文件。如果我跑,

aStack.reindex(combos)

我应该得到那个输出。但是,当我运行指令时,我获得与输入相同的输出。我错过了什么?

2 个答案:

答案 0 :(得分:0)

您的起始系列已经有一个MultiIndex,它不会在每一行上打印最外层(级别0)的索引值。要查看每行中重复的每个索引值(出于显示目的等),请尝试aStack.reset_index()

答案 1 :(得分:0)

找到了一个有效的解决方案语法略有不同。

aStack = aStack.reset_index(level=[0,1])