Pandy: jak obliczyć tryb w obiekcie groupby


Możesz użyć następującej składni, aby obliczyć tryb w obiekcie GroupBy w pandach:

 df. groupby ([' group_var '])[' value_var ']. agg ( pd.Series.mode )

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: tryb obliczeń w obiekcie GroupBy

Załóżmy, że mamy następującą ramkę danych pand, która pokazuje punkty zdobyte przez koszykarzy z różnych drużyn:

 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

Możemy użyć następującej składni, aby obliczyć wartość punktów mody dla każdej drużyny:

 #calculate mode points value for each team
df. groupby ([' team '])[' points ']. agg ( pd.Series.mode )

team
At 10
B [19, 23]
C 20
Name: points, dtype: object

Oto jak zinterpretować wynik:

  • Wartość punktów mody dla Drużyny A wynosi 10 .
  • Wartości punktów mody dla Drużyny B to 19 i 23 .
  • Wartość punktów mody dla Drużyny C wynosi 20 .

Jeśli grupa ma wiele trybów, możesz użyć następującej składni, aby wyświetlić każdy tryb w innym wierszu:

 #calculate mode points value for each team
df. groupby ([' team '])[' points ']. apply ( pd.Series.mode )

team   
At 0 10
B 0 19
      1 23
C 0 20
Name: points, dtype: int64

Uwaga : pełną dokumentację operacji GroupBy w pandach znajdziesz tutaj .

Dodatkowe zasoby

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

Pandy: jak obliczyć skumulowaną sumę na grupę
Pandy: jak liczyć unikalne wartości według grupy
Pandy: jak obliczyć korelację według grup

Dodaj komentarz

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