2017-02-18 4 views
0

Ich habe einen Datenrahmen wie folgt aus:Wie sortiere ich die Werte in einem Datenrahmen in Pandas?

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

Ich brauche die batsman_runs in absteigender Reihenfolge zu sortieren und auch ihre entsprechenden Batsman d.h zeigen, wenn 158 an der Spitze ist, dann BB McCullum sollte in der benachbarten Zelle sein. Ich habe versucht, den folgenden Code:

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

Aber dieser Code zeigt nicht den Batsman Namen. Wie zeige ich die Läufe mit dem entsprechenden Schlagmann?

Antwort

5

versuchen Sie dies:

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 

oder:

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 

Sie können auch mehrere Spalten kombinieren:

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 
Verwandte Themen