是否有可能在熊猫中进行这种转动?

时间:2017-05-09 19:29:54

标签: pandas dataframe pivot

是否可以转换此数据框:

     A_type  A_1   A_2   
1     a       1     x
1     b       2     y
2     a       3     z
2     b       4     w
3     b       5     u

进入这个? :

     a           b
     A_1   A_2   A_1   A_2   
1     1     x     2     y
2     3     z     4     w
3     NaN   NaN   5     u

2 个答案:

答案 0 :(得分:3)

IIUC你可以这样做:

In [195]: df.set_index('A_type', append=True).unstack() \
            .swaplevel(axis=1).sort_index(axis=1)
Out[195]:
A_type    a          b
        A_1   A_2  A_1 A_2
1       1.0     x  2.0   y
2       3.0     z  4.0   w
3       NaN  None  5.0   u

答案 1 :(得分:2)

是。使用set_indexstackunstack

df.set_index('A_type', append=True).stack().unstack([1,2])

输出:

A_type     a         b    
         A_1   A_2 A_1 A_2
1          1     x   2   y
2          3     z   4   w
3       None  None   5   u