熊猫,如何从一组行创建层次索引

时间:2020-10-08 07:29:31

标签: pandas

我有一个看起来像这样的数据框:

                    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

也就是说,我想将所有行都压缩到单个行中,并创建列的层次结构。 我能做到吗?

1 个答案:

答案 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