我在任何地方都找不到解决方案,所以我在这里询问。
我有一个如下所示的数据框。这里A
和B
是MultiIndex的索引,C
、D
是列标题。
A B C D
a1 b1 0 4
a1 b2 1 5
如何切换第一级索引使其成为第 0 级列,以便我得到这样的结果 -
A/B
b1 b2
C D C D
a1 0 4 1 5
这似乎是对数据框的简单操作,但我找不到任何东西。
最佳答案
使用DataFrame.unstack
,但是有必要将 MultiIndex
更改为 DataFrame.swaplevel
和 DataFrame.sort_index
:
df = df.unstack().swaplevel(1,0, axis=1).sort_index(axis=1)
print (df)
B b1 b2
C D C D
A
a1 0 4 1 5
或者来自@piRSquared的解决方案:
df = df.stack().unstack(0).T
关于python - Pandas 将索引的 level1 转换为列的 level 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60041708/