让我们得到一个带有多级标题的表格:
cols = pd.MultiIndex.from_arrays([['a','a', 'b','b'], [0,1,0,1]],
names=('I','II'))
df = pd.DataFrame(np.random.rand(3,4),columns=cols)
df.index.name = 'idx'
I a b
II 0 1 0 1
idx
0 0.851031 0.294414 0.503343 0.081551
1 0.333798 0.965863 0.206981 0.898823
2 0.520647 0.868081 0.571291 0.275164
如何将第一列索引I
“透视”到行索引?为了继续我的示例,我希望实现以下目标:
II 0 1
I idx
a 0 0.851031 0.294414
1 0.333798 0.965863
2 0.520647 0.868081
b 0 0.503343 0.081551
1 0.206981 0.898823
2 0.571291 0.275164
可以确保柱具有适合此类操作的形状。
最佳答案
您可以将 2 个调用链接到 unstack
:
df.unstack('idx').unstack('II')
II 0 1
I idx
a 0 0.406855 0.666815
1 0.930418 0.204731
2 0.715580 0.432077
b 0 0.879814 0.278757
1 0.294891 0.001818
2 0.453212 0.452945
关于python - Pandas:将多标题列的级别转入行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51457100/