2
是否有可能把這個數據幀:是否可以在熊貓中做到這一點?
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
是否有可能把這個數據幀:是否可以在熊貓中做到這一點?
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
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
是。使用,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
這種方法具有優於'.STACK一個優點()拆散([1,2])'approach--它不」。不要強迫所有的dtype反對。 – DSM
@DSM,謝謝!我甚至沒有想過它...... :-) – MaxU
@DSM酷,這是很好的知道。速度可能不是這個操作的問題,但它確實出現了'stack()。unstack([1,2])'幾乎快了兩倍。 –