Gruppe durch und finden Sie top-n-value_counts pandas

Habe ich ein dataframe von taxi-Daten mit zwei Spalten, die wie folgt aussieht:

Neighborhood    Borough        Time
Midtown         Manhattan      X
Melrose         Bronx          Y
Grant City      Staten Island  Z
Midtown         Manhattan      A
Lincoln Square  Manhattan      B

Grundsätzlich, jede Zeile steht für eine taxi-Abholung in diesem Viertel in diesem Bezirk. Nun, ich will zu finden die top 5 Stadtteilen in jedem Stadtteil mit der höchsten Anzahl von pickups. Ich versuchte dies:

df['Neighborhood'].groupby(df['Borough']).value_counts()

Gibt mir so etwas wie dieses:

borough                          
Bronx          High  Bridge          3424
               Mott Haven            2515
               Concourse Village     1443
               Port Morris           1153
               Melrose                492
               North Riverdale        463
               Eastchester            434
               Concourse              395
               Fordham                252
               Wakefield              214
               Kingsbridge            212
               Mount Hope             200
               Parkchester            191
......

Staten Island  Castleton Corners        4
               Dongan Hills             4
               Eltingville              4
               Graniteville             4
               Great Kills              4
               Castleton                3
               Woodrow                  1

Wie Filtere ich es so, dass ich nur die top 5 aus jeder? Ich weiß, es gibt ein paar Fragen, die mit einem ähnlichen Titel, aber Sie waren nicht hilfreich in meinem Fall.

  • wenn Sie gerade auf der Suche für den Modus (eindeutig oder nicht), siehe die Antwort.
InformationsquelleAutor ytk | 2016-02-12
Schreibe einen Kommentar