下面的代码为我提供了如下数据框。对于索引级别= 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
答案 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