2012-02-18 65 views

回答

6
>>> df.pivot('A', 'B', 'C') 
    B 11 12 13 
A    
10 a b c 
20 d e f 

轉換其中df是:

>>> df = DataFrame(dict(A=[10]*3+[20]*3, B=range(11, 14)*2, C=list('abcdef'))) 
>>> df 
    A B C 
0 10 11 a 
1 10 12 b 
2 10 13 c 
3 20 11 d 
4 20 12 e 
5 20 13 f 

Reshaping and Pivot Tables

2

您還可以使用面板來幫助您做到這一點。像這樣: -

In [86]: panel = df.set_index(['A', 'B']).sortlevel(0).to_panel() 

In [87]: panel["C"] 
Out[87]: 
B 11 12 13 
A   
10 a b c 
20 d e f 

這給你和上面的塞巴斯蒂安的答案一樣的結果。