2

我有一个熊猫数据框,如下所示

   mp  me        rt                                                         
0  0   1   1.987366                                                         
1  1   1   1.769593                                                         
2  2   1   1.416274                                                         
3  3   1   1.650428                                                         
4  4   1   1.882780                                                         
5  0   2   1.955086                                                         
6  1   2   1.729387                                                         
7  2   2   1.490797                                                         
8  3   2   1.546333                                                         
9  4   2   1.933006                 

我想生成一个新的数据框如下

   mp    me=1       me=2                                                    
0  0   1.987366    1.955086                                                 
1  1   1.769593    1.729387                                                 
2  2   1.416274    1.490797                                                 
3  3   1.650428    1.546333                                                 
4  4   1.882780    1.933006                                                 

我尝试使用 for 循环但不成功。

for j in range(1,3):
    f[str(j)] = pd.DataFrame(a[a['me']==j]['rt'])

知道如何有效地做到这一点吗?

谢谢。担

4

1 回答 1

6
In [6]: df.pivot_table(values='rt', rows='mp', cols='me', aggfunc=sum)
Out[6]: 
me         1         2
mp                    
0   1.987366  1.955086
1   1.769593  1.729387
2   1.416274  1.490797
3   1.650428  1.546333
4   1.882780  1.933006
于 2013-01-29T00:10:14.503 回答