如何在多索引数据框中折叠具有相同值的索引

时间:2018-12-19 22:48:09

标签: python pandas

下面的代码为我提供了如下数据框。对于索引级别= 0,1和2仅显示一次。如何在level = 1中具有相同的行为?我想要以下结果:

test = pd.DataFrame([[1,'a',100, 'tom'],[1,'b',200,'ann'], [1,'a',200,'pet'],[2,'a',100,'dig'],[2,'b',200,'goo']], columns=['n', 'alpha','number', 'text'])
test.set_index(['n','alpha']).sort_index(level=0, axis=0)

         number text
n alpha             
1 a         100  tom
  a         200  pet
  b         200  ann
2 a         100  dig
  b         200  goo

我想要什么:

         number text
n alpha             
1 a         100  tom
            200  pet
  b         200  ann
2 a         100  dig
  b         200  goo

1 个答案:

答案 0 :(得分:3)

这将达到目的,至少在您打印时即可。请注意,此处将具有3级多重索引,这仅用于查看目的,不建议您覆盖原始数据框

test.assign(d='').set_index('d',append=True).rename_axis(['n','alpha',''])
Out[190]: 
          number text
n alpha              
1 a          100  tom
             200  ann
  b          200  pet
2 a          100  dig
  b          200  goo