2012-02-18 37 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 

这给你和上面的塞巴斯蒂安的答案一样的结果。