将 Pandas DataFrame 转换为分层列/更改列层次结构

Pat*_*son 4 python pivot pandas

我想旋转一个数据框,例如:

       dim1   Value_V     Value_y   instance
0      A_1     50.000000        0   instance200
1      A_2   6500.000000        1   instance200
2      A_3     50.000000        0   instance200
3      A_4   4305.922313        1   instance200
Run Code Online (Sandbox Code Playgroud)

进入具有分层列的数据框,如下所示:

              A_1               A_2               A_3                .....
              Value_V  Value_y  Value_V  Value_y  Value_V  Value_y
instance200   50       0        6500     1        50       0
Run Code Online (Sandbox Code Playgroud)

我尝试过df = df.pivot(index = "instance", columns = "dim1"),但它只会给我一个这样的框架:

              Value_V               Value_y                              
              A_1   A_2   A_3 ....  A_1  A_2  A_3 ....
instance200   50    6500  50        0    1    0
Run Code Online (Sandbox Code Playgroud)

如何更改列的层次结构?

Pat*_*son 5

我自己想出来了:

df = df.swaplevel(0,1,axis = 1).sort(axis = 1)
Run Code Online (Sandbox Code Playgroud)

会做