2014-02-06 142 views
1

數據幀是否有大熊貓的簡單方法如下數據幀重塑:重塑在大熊貓

df = pd.DataFrame({'n':[1,1,2,2,1,1,2,2], 
        'l':['a','b','a','b','a','b','a','b'], 
        'v':[12,43,55,19,23,52,61,39], 
        'g':[0,0,0,0,1,1,1,1] 
        }) 

這種格式?:

g a1 b1 a2 b2 
    0 12 43 55 19 
    1 23 52 61 39 

回答

3
In [75]: df['ln'] = df['l'] + df['n'].astype(str) 

In [76]: df.set_index(['g', 'ln'])['v'].unstack('ln') 
Out[76]: 
ln a1 a2 b1 b2 
g     
0 12 55 43 19 
1 23 61 52 39 

[2 rows x 4 columns] 

如果你需要訂購那麼:

In [77]: df.set_index(['g', 'ln'])['v'].unstack('ln')[['a1', 'b1', 'a2', 'b2']] 
Out[77]: 
ln a1 b1 a2 b2 
g     
0 12 43 55 19 
1 23 52 61 39 

[2 rows x 4 columns] 
+0

太棒了!非常感謝! – HappyPy