Come calcolare il rango percentile nei panda (con esempi)


Il rango percentile di un valore ci indica la percentuale di valori in un set di dati il cui rango è uguale o inferiore a un determinato valore.

È possibile utilizzare i seguenti metodi per calcolare il rango percentile nei panda:

Metodo 1: calcolare il rango percentile per la colonna

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

Metodo 2: calcolare la classificazione percentile per gruppo

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

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con i seguenti DataFrame panda:

 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

Esempio 1: calcolare la classificazione percentile per la colonna

Il codice seguente mostra come calcolare il rango percentile di ciascun valore nella colonna dei punti:

 #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

Ecco come interpretare i valori nella colonna percent_rank :

  • Il 7,14% dei valori in punti sono uguali o inferiori a 2.
  • Il 17,86% dei valori in punti sono uguali o inferiori a 5.
  • Il 28,57% dei valori in punti sono uguali o inferiori a 7.

E così via.

Esempio 2: calcolare la classificazione percentile per gruppo

Il codice seguente mostra come calcolare il rango percentile di ciascun valore nella colonna dei punti, raggruppati per squadra:

 #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

Ecco come interpretare i valori nella colonna percent_rank :

  • Il 14,3% dei valori in punti della squadra A sono uguali o inferiori a 2.
  • Il 35,7% dei valori in punti della squadra A sono uguali o inferiori a 5.
  • Il 57,1% dei valori in punti della squadra A sono pari o inferiori a 7.

E così via.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Come calcolare la variazione percentuale nei panda
Come calcolare la percentuale cumulativa nei panda
Come calcolare la percentuale del totale all’interno di un gruppo in panda

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *