是否可以转换此数据框:
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
答案 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_index
,stack
,unstack
:
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