2017-02-18 89 views
0

我有这样一个数据帧:如何对熊猫数据框中的值进行排序?

innings batsman  batsman_runs 
    1   AA Noffke  9 
    1   B Akhil  0 
    1   BB McCullum 158 
    1   CL White  6 
    1   DJ Hussey  12.... 

我需要以降序排序batsman_runs,也表明其相应的击球手即如果158是在顶部,然后BB的McCullum应该在相邻的单元格。我试了下面的代码:

df['batsman_runs'].sort_values(ascending=False) 

但是这段代码并没有显示击球手的名字。我如何显示与相应的击球手的运行?

回答

5

试试这个:

In [32]: df.sort_values('batsman_runs', ascending=0) 
Out[32]: 
    innings  batsman batsman_runs 
2  1 BB McCullum   158 
4  1 DJ Hussey   12 
0  1 AA Noffke    9 
3  1  CL White    6 
1  1  B Akhil    0 

或:

In [31]: df.sort_values('batsman', ascending=0) 
Out[31]: 
    innings  batsman batsman_runs 
4  1 DJ Hussey   12 
3  1  CL White    6 
2  1 BB McCullum   158 
1  1  B Akhil    0 
0  1 AA Noffke    9 

还可以结合多个列:

In [34]: df.sort_values(['batsman','batsman_runs'], ascending=[1,0]) 
Out[34]: 
    innings  batsman batsman_runs 
0  1 AA Noffke    9 
1  1  B Akhil    0 
2  1 BB McCullum   158 
3  1  CL White    6 
4  1 DJ Hussey   12