So berechnen sie den perzentilrang bei pandas (mit beispielen)
Der Perzentilrang eines Werts gibt uns den Prozentsatz der Werte in einem Datensatz an, deren Rang gleich oder niedriger als ein bestimmter Wert ist.
Sie können die folgenden Methoden verwenden, um den Perzentilrang bei Pandas zu berechnen:
Methode 1: Berechnen Sie den Perzentilrang für die Spalte
df[' percent_rank '] = df[' some_column ']. rank (pct= True )
Methode 2: Berechnen Sie die Perzentilrangfolge nach Gruppe
df[' percent_rank '] = df. groupby (' group_var ')[' value_var ']. transform (' rank ', pct= True )
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'A', 'A',
'B', 'B', 'B', 'B', 'B', 'B', 'B'],
' points ': [2, 5, 5, 7, 9, 13, 15, 17, 22, 24, 30, 31, 38, 39]})
#view DataFrame
print (df)
team points
0 to 2
1 to 5
2 to 5
3 to 7
4 to 9
5 to 13
6 to 15
7 B 17
8 B 22
9 B 24
10 B 30
11 B 31
12 B 38
13 B 39
Beispiel 1: Berechnen Sie die Perzentilrangfolge für die Spalte
Der folgende Code zeigt, wie der Perzentilrang jedes Werts in der Punktespalte berechnet wird:
#add new column that shows percentile rank of points
df[' percent_rank '] = df[' points ']. rank (pct= True )
#view updated DataFrame
print (df)
team points percent_rank
0 A 2 0.071429
1 to 5 0.178571
2 to 5 0.178571
3 to 7 0.285714
4 to 9 0.357143
5 A 13 0.428571
6 A 15 0.500000
7 B 17 0.571429
8 B 22 0.642857
9 B 24 0.714286
10 B 30 0.785714
11 B 31 0.857143
12 B 38 0.928571
13 B 39 1.000000
So interpretieren Sie die Werte in der Spalte „percent_rank“ :
- 7,14 % der Punktwerte sind gleich oder kleiner als 2.
- 17,86 % der Punktwerte sind gleich oder kleiner als 5.
- 28,57 % der Punktwerte sind gleich oder kleiner als 7.
Und so weiter.
Beispiel 2: Berechnen Sie die Perzentilrangfolge nach Gruppe
Der folgende Code zeigt, wie der prozentuale Rang jedes Werts in der Punktespalte, gruppiert nach Team, berechnet wird:
#add new column that shows percentile rank of points, grouped by team
df[' percent_rank '] = df. groupby (' team ')[' points ']. transform (' rank ', pct= True )
#view updated DataFrame
print (df)
team points percent_rank
0 A 2 0.142857
1 A 5 0.357143
2 A 5 0.357143
3 to 7 0.571429
4 to 9 0.714286
5 A 13 0.857143
6 to 15 1.000000
7 B 17 0.142857
8 B 22 0.285714
9 B 24 0.428571
10 B 30 0.571429
11 B 31 0.714286
12 B 38 0.857143
13 B 39 1.000000
So interpretieren Sie die Werte in der Spalte „percent_rank“ :
- 14,3 % der Punktwerte von Team A sind gleich oder kleiner als 2.
- 35,7 % der Punktwerte von Team A sind gleich oder kleiner als 5.
- 57,1 % der Punktwerte von Team A sind gleich oder kleiner als 7.
Und so weiter.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
So berechnen Sie die prozentuale Veränderung bei Pandas
So berechnen Sie den kumulativen Prozentsatz bei Pandas
So berechnen Sie den Prozentsatz der Gesamtmenge innerhalb einer Gruppe bei Pandas