Hoe kwantielen per groep in panda's te berekenen


U kunt de volgende basissyntaxis gebruiken om kwantielen per groep in Pandas te berekenen:

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

De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld 1: bereken het kwantiel per groep

Stel dat we de volgende panda’s DataFrame hebben:

 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 

De volgende code laat zien hoe u het 90e percentiel van de waarden in de kolom „punten“ berekent, gegroepeerd op de kolom „team“:

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

	score
team	
1 6.5
2 4.0

Zo interpreteert u het resultaat:

  • Het 90e percentiel van “punten” voor Team 1 is 6,5 .
  • Het 90e percentiel van “punten” voor Team 2 is 4,0 .

Voorbeeld 2: Bereken meerdere kwantielen per groep

De volgende code laat zien hoe u meerdere kwantielen tegelijk per groep kunt berekenen:

 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

Zo interpreteert u het resultaat:

  • Het eerste en derde kwartiel van de scores van team 1 zijn respectievelijk 4,0 en 5,0 .
  • Het eerste en derde kwartiel van de scores van Team 2 zijn respectievelijk 2,0 en 3,0 .

Aanvullende bronnen

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

Zo vind je bij Pandas de maximale waarde per groep
Hoe groepswaarnemingen bij panda’s te tellen
Hoe het gemiddelde van kolommen in Panda’s te berekenen

Einen Kommentar hinzufügen

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