Panda: come calcolare la classifica in un oggetto groupby


È possibile utilizzare la seguente sintassi per calcolare l’ordinamento dei valori in un oggetto GroupBy in panda:

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

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: calcolo della classifica in un oggetto GroupBy

Supponiamo di avere il seguente DataFrame panda che mostra i punti segnati da giocatori di basket di diverse squadre:

 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

Possiamo utilizzare la seguente sintassi per calcolare la classifica dei valori in punti per ciascuna squadra:

 #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

Per impostazione predefinita, la funzione Rank() assegna valori di rango in ordine crescente e utilizza il rango medio in caso di parità.

Tuttavia, possiamo utilizzare il metodo e gli argomenti dal basso verso l’alto per ordinare i valori in modo diverso:

 #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

Questo metodo assegna un valore pari a 1 al valore più grande in ciascun gruppo.

Puoi trovare un elenco completo dei metodi di classificazione che puoi utilizzare con la funzione Rank() qui .

Nota : puoi trovare la documentazione completa dell’operazione GroupBy in panda qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Panda: come calcolare il cumulato per gruppo
Panda: come contare i valori unici per gruppo
Panda: come calcolare la correlazione per gruppo

Aggiungi un commento

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