Pandy: jak używać groupby() z size()
Możesz użyć następujących metod z funkcjami groupby() i size() w pandach, aby policzyć liczbę wystąpień na grupę:
Metoda 1: zliczanie wystąpień pogrupowanych według zmiennej
df. groupby (' var1 '). size ()
Metoda 2: Zliczanie wystąpień pogrupowanych według wielu zmiennych
df. groupby ([' var1 ', ' var2 ']). size ()
Metoda 3: Zliczanie wystąpień pogrupowanych według wielu zmiennych i posortowanych według liczby
df. groupby ([' var1 ', ' var2 ']). size (). sort_values (ascending= False )
Poniższe przykłady pokazują, jak w praktyce używać każdej metody z następującą ramką DataFrame pand:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'F', 'F', 'G', 'G', 'G', 'G', 'F'], ' points ': [15, 22, 24, 25, 20, 35, 34, 19, 14, 12]}) #view DataFrame print (df) team position points 0 AG 15 1 AG 22 2 AF 24 3 AF 25 4 AF 20 5 BG 35 6 BG 34 7 BG 19 8 BG 14 9 BF 12
Przykład 1: zliczanie wystąpień pogrupowanych według zmiennej
Poniższy kod pokazuje, jak wykorzystać funkcje groupby() i size() do zliczania wystąpień wartości w kolumnie zespołu :
#count occurrences of each value in team column
df. groupby (' team '). size ()
team
AT 5
B5
dtype: int64
Z wyniku widzimy, że wartości A i B pojawiają się 5 razy w kolumnie zespołu .
Przykład 2: Zliczanie wystąpień pogrupowanych według wielu zmiennych
Poniższy kod pokazuje, jak używać funkcji groupby() i size() do zliczania wystąpień wartości dla każdej kombinacji wartości w kolumnach zespołu i pozycji :
#count occurrences of values for each combination of team and position
df. groupby ([' team ', ' position ']). size ()
team position
AF3
G2
BF 1
G4
dtype: int64
Z wyniku możemy zobaczyć:
- Zespół A i pozycja F pojawiają się 3 razy.
- Zespół A i pozycja G występują dwukrotnie .
I tak dalej.
Przykład 3: zliczanie wystąpień pogrupowanych według kilku zmiennych i sortowanie
Poniższy kod pokazuje, jak wykorzystać funkcje groupby() i size() do zliczania wystąpień wartości dla każdej kombinacji wartości w kolumnach zespół i pozycja , a następnie sortować według liczby:
#count occurrences for each combination of team and position and sort
df. groupby ([' team ', ' position ']). size (). sort_values (ascending= False )
team position
BG 4
AF3
G2
BF 1
dtype: int64
Dane wyjściowe wyświetlają liczbę każdej kombinacji wartości zespołu i pozycji , posortowaną według liczby w kolejności malejącej.
Uwaga : Aby posortować według liczb w kolejności rosnącej, po prostu usuń rosnąco=False z funkcji sort_values() .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:
Jak liczyć unikalne wartości za pomocą Pandas GroupBy
Jak zastosować funkcję do Pandas Groupby
Jak utworzyć wykres słupkowy z Pandas GroupBy