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

Dodaj komentarz

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