Pandy: jak korzystać z groupby i liczenia wartości


Możesz użyć następującej podstawowej składni, aby policzyć częstotliwość unikalnych wartości na grupę w pandzie DataFrame:

 df. groupby ([' column1 ', ' column2 ']). size (). unstack (fill_value= 0 )

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

Przykład: używanie GroupBy i liczników wartości w Pandach

Załóżmy, że mamy następującą ramkę danych pandy:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' position ':['G', 'G', 'F', 'F', 'C', 'G', 'F', 'F', 'F', 'F'],
                   ' points ': [8, 8, 10, 10, 11, 8, 9, 10, 10, 10]})

#view DataFrame
print (df)

  team position points
0 AG 8
1 GA 8
2 AF10
3 AF 10
4 AC 11
5 BG 8
6 BF 9
7 BF 10
8 BF 10
9 BF 10

Aby policzyć częstotliwość wartości punktowych , pogrupowanych według kolumn zespołu i pozycji , możemy zastosować następującą składnię:

 #count frequency of points values, grouped by team and position
df. groupby ([' team ',' position ',' points ']). size (). unstack (fill_value= 0 )

	points 8 9 10 11
team position				
A C 0 0 0 1
        F 0 0 2 0
        G 2 0 0 0
B F 0 1 3 0
        G 1 0 0 0

Oto jak zinterpretować wynik:

  • Wartość 8 pojawiła się 0 razy w kolumnie punktów dla zawodników drużyny A i pozycji C.
  • Wartość 9 pojawiła się 0 razy w kolumnie punktów dla zawodników drużyny A i pozycji C.
  • Wartość 10 pojawiła się 0 razy w kolumnie punktów dla zawodników drużyny A i pozycji C.
  • Wartość 11 pojawiła się w kolumnie punktów 1 raz dla zawodników drużyny A i pozycji C.

I tak dalej.

Możemy również użyć następującej składni do obliczenia częstotliwości pozycji pogrupowanych według zespołu :

 #count frequency of positions, grouped by team
df. groupby ([' team ', ' position ']). size (). unstack (fill_value= 0 )

position C F G
team			
A 1 2 2
B 0 4 1

Oto jak zinterpretować wynik:

  • Wartość „C” wystąpiła 1 raz w drużynie A.
  • Wartość „F” pojawiła się 2 razy w drużynie A.
  • Wartość „G” pojawiła się 2 razy w drużynie A.
  • Wartość „C” wystąpiła 0 razy w drużynie B.
  • Wartość „F” wystąpiła 4 razy w drużynie B.
  • Wartość „G” wystąpiła 1 raz w drużynie B.

I tak dalej.

Dodatkowe zasoby

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

Jak wykonać sumę GroupBy w Pandach
Jak liczyć unikalne wartości za pomocą GroupBy w Pandach
Jak korzystać z Groupby i Plot w Pandach

Dodaj komentarz

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