Jak obliczyć kwantyle według grupy w pandach


Aby obliczyć kwantyle według grup w Pandach, możesz użyć następującej podstawowej składni:

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

Poniższe przykłady pokazują, jak używać tej składni w praktyce.

Przykład 1: oblicz kwantyl według grupy

Załóżmy, że mamy następującą ramkę DataFrame pand:

 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 

Poniższy kod pokazuje jak obliczyć 90. percentyl wartości w kolumnie „punkty” pogrupowanych według kolumny „zespół”:

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

	score
team	
1 6.5
2 4.0

Oto jak zinterpretować wynik:

  • 90. percentyl „punktów” dla Zespołu 1 wynosi 6,5 .
  • 90. percentyl „punktów” dla Zespołu 2 to 4,0 .

Przykład 2: Oblicz wiele kwantyli na grupę

Poniższy kod pokazuje, jak obliczyć wiele kwantyli jednocześnie dla każdej grupy:

 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

Oto jak zinterpretować wynik:

  • Pierwszy i trzeci kwartyl wyników Zespołu 1 to odpowiednio 4,0 i 5,0 .
  • Pierwszy i trzeci kwartyl wyników Zespołu 2 wynosi odpowiednio 2,0 i 3,0 .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe funkcje w pandach:

Jak znaleźć maksymalną wartość na grupę w Pandas
Jak liczyć obserwacje grupowe u pand
Jak obliczyć średnią kolumn w Pandach

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *