Pandas: so berechnen sie das ranking in einem groupby-objekt


Sie können die folgende Syntax verwenden, um die Reihenfolge der Werte in einem GroupBy-Objekt in Pandas zu berechnen:

 df[' rank '] = df. groupby ([' group_var '])[' value_var ']. rank ()

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Berechnung der Rangfolge in einem GroupBy-Objekt

Angenommen, wir haben den folgenden Pandas-DataFrame, der die von Basketballspielern verschiedener Teams erzielten Punkte anzeigt:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [10, 10, 12, 15, 19, 23, 20, 20, 26]})

#view DataFrame
print (df)

  team points
0 to 10
1 to 10
2 to 12
3 to 15
4 B 19
5 B 23
6 C 20
7 C 20
8 C 26

Wir können die folgende Syntax verwenden, um die Rangfolge der Punktwerte für jedes Team zu berechnen:

 #add ranking column to data frame
df[' points_rank '] = df. groupby ([' team '])[' points ']. rank ()

#view updated DataFrame
print (df)

  team points points_rank
0 to 10 1.5
1 to 10 1.5
2 to 12 3.0
3 to 15 4.0
4 B 19 1.0
5 B 23 2.0
6 C 20 1.5
7 C 20 1.5
8 C 26 3.0

Standardmäßig weist die Funktion Rank() Rangwerte in aufsteigender Reihenfolge zu und verwendet im Falle eines Gleichstands den durchschnittlichen Rang.

Wir können jedoch die Bottom-up- Methode und die Argumente verwenden, um die Werte auf andere Weise zu ordnen:

 #add ranking column to data frame
df[' points_rank '] = df. groupby ([' team '])[' points ']. rank (' dense ', ascending= False )

#view updated DataFrame
print (df)

  team points points_rank
0 to 10 3.0
1 to 10 3.0
2 to 12 2.0
3 to 15 1.0
4 B 19 2.0
5 B 23 1.0
6 C 20 2.0
7 C 20 2.0
8 C 26 1.0

Diese Methode weist dem größten Wert in jeder Gruppe den Wert 1 zu.

Eine vollständige Liste der Ranking-Methoden, die Sie mit der Funktion Rank() verwenden können, finden Sie hier .

Hinweis : Die vollständige Dokumentation der GroupBy-Operation in Pandas finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

Pandas: So berechnen Sie die kumulative Summe pro Gruppe
Pandas: So zählen Sie eindeutige Werte nach Gruppen
Pandas: So berechnen Sie die Korrelation nach Gruppen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert