Come calcolare i quantili per gruppo in pandas


È possibile utilizzare la seguente sintassi di base per calcolare i quantili per gruppo in Panda:

 df. groupby (' grouping_variable '). quantile ( .5 )

Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.

Esempio 1: calcolare il quantile per gruppo

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

#createDataFrame 
df = pd. DataFrame ({' team ': [1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2],
                   ' score ': [3, 4, 4, 5, 5, 8, 1, 2, 2, 3, 3, 5]})

#view first five rows
df. head ()

team score
0 1 3
1 1 4
2 1 4
3 1 5
4 1 5 

Il codice seguente mostra come calcolare il 90° percentile dei valori nella colonna “punti”, raggruppati per la colonna “squadra”:

 df. groupby (' team '). quantile ( .90 )

	score
team	
1 6.5
2 4.0

Ecco come interpretare il risultato:

  • Il 90° percentile di “punti” per la Squadra 1 è 6,5 .
  • Il 90° percentile di “punti” per la Squadra 2 è 4,0 .

Esempio 2: calcolare più quantili per gruppo

Il codice seguente mostra come calcolare più quantili contemporaneamente per gruppo:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': [1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2],
                   ' score ': [3, 4, 4, 5, 5, 8, 1, 2, 2, 3, 3, 5]})

#create functions to calculate 1st and 3rd quartiles
def q1(x):
    return x. quantile ( 0.25 )

def q3(x):
    return x. quantile ( 0.75 )

#calculate 1st and 3rd quartiles by group
vals = {' score ': [q1, q3]}

df. groupby (' team '). agg (vals)

	score
        q1 q3
team		
1 4.0 5.0
2 2.0 3.0

Ecco come interpretare il risultato:

  • Il primo e il terzo quartile dei punteggi della squadra 1 sono rispettivamente 4,0 e 5,0 .
  • Il primo e il terzo quartile dei punteggi della squadra 2 sono rispettivamente 2,0 e 3,0 .

Risorse addizionali

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

Come trovare il valore massimo per gruppo su Pandas
Come contare gli avvistamenti di gruppo nei panda
Come calcolare la media delle colonne in Pandas

Aggiungi un commento

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