Hoe u de percentielrangschikking in panda's kunt berekenen (met voorbeelden)


De percentielrangschikking van een waarde vertelt ons het percentage waarden in een dataset waarvan de rangschikking gelijk is aan of lager is dan een bepaalde waarde.

U kunt de volgende methoden gebruiken om de percentielrangschikking van panda’s te berekenen:

Methode 1: Bereken de percentielrangschikking voor de kolom

 df[' percent_rank '] = df[' some_column ']. rank (pct= True )

Methode 2: Bereken de percentielrangschikking per groep

 df[' percent_rank '] = df. groupby (' group_var ')[' value_var ']. transform (' rank ', pct= True )

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met de volgende panda’s DataFrame:

 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

Voorbeeld 1: Bereken de percentielrangschikking voor de kolom

De volgende code laat zien hoe u de percentielrangschikking van elke waarde in de puntenkolom berekent:

 #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

Zo interpreteert u de waarden in de kolom percent_rank :

  • 7,14% van de puntwaarden is gelijk aan of kleiner dan 2.
  • 17,86% van de puntwaarden is gelijk aan of kleiner dan 5.
  • 28,57% van de puntwaarden is gelijk aan of kleiner dan 7.

Enzovoort.

Voorbeeld 2: Bereken de percentielrangschikking per groep

De volgende code laat zien hoe u de percentielrangschikking van elke waarde in de puntenkolom kunt berekenen, gegroepeerd op team:

 #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

Zo interpreteert u de waarden in de kolom percent_rank :

  • 14,3% van de puntenwaarden van team A zijn gelijk aan of kleiner dan 2.
  • 35,7% van de puntenwaarden van team A zijn gelijk aan of kleiner dan 5.
  • 57,1% van de puntwaarden van team A zijn gelijk aan of kleiner dan 7.

Enzovoort.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:

Hoe de procentuele verandering bij panda’s te berekenen
Hoe het cumulatieve percentage in panda’s te berekenen
Hoe het percentage van het totaal binnen een groep bij panda’s te berekenen

Einen Kommentar hinzufügen

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