我有一个看起来像这样的数据框:
MgO Al2O3 Li
B 3.4 99.77 0.010
C 0 1 0.012
我想将其转换为。
MgO Al2O3 Li
B C B C B C
A 3.4 0 99.77 1 0.010 0.012
也就是说,我想将所有行都压缩到单个行中,并创建列的层次结构。 我能做到吗?
答案 0 :(得分:2)
编辑:
只需拆栈和转置也可以:
df.unstack().to_frame("A").T
您可以使用df.unstack()
,然后使用transpose
数据框,并且仅在列顺序很重要时使用reindex
>
df.unstack().to_frame("A").T.sort_index(axis=1).reindex(columns=df.columns,level=0)
MgO Al2O3 Li
B C B C B C
A 3.4 0.0 99.77 1.0 0.01 0.012