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