大熊猫中的堆栈和交换级别

Jai*_*ero 1 python pandas

我有一个像熊猫一样的数据帧

id   cat  v1  v2
36     A   1   2
36     B   3   4
36     C   5   6
97     A   7   8
97     B   9  10
97     C  11  12
Run Code Online (Sandbox Code Playgroud)

我找到了set_index(),unstack()我得到了

df.set_index(['code', 'cat']).unstack()

       v1           v2
code   A   B   C    A    B    C
id
36     1   3   5    2    4    6
97     7   9  11    8   10   12
Run Code Online (Sandbox Code Playgroud)

但我想要

       A            B           C
code   v1    v2     v1    v2    v1    v2
id
36     1     2      3     4     5     6
97     7     8      9     10    11    12
Run Code Online (Sandbox Code Playgroud)

如何交换列轴中的水平?

WeN*_*Ben 6

既然你提到了 swaplevel

df.set_index(['id', 'cat']).unstack().swaplevel(0,1,axis=1).sort_index(axis=1)
Out[765]: 
cat  A     B       C    
    v1 v2 v1  v2  v1  v2
id                      
36   1  2  3   4   5   6
97   7  8  9  10  11  12
Run Code Online (Sandbox Code Playgroud)