Pandy: jak korzystać z groupby z liczbą pojemników
Możesz użyć następującej składni, aby obliczyć liczbę pól zmiennej pogrupowanej według innej zmiennej w pandach:
#define bins groups = df. groupby ([' group_var ', pd. cut (df. value_var , bins)]) #display bin count by group variable groups. size (). unstack ()
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: użyj GroupBy z liczbą pojemników w Pandach
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', 'A', 'A', 'A', 'A',
'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B'],
' points ': [4, 7, 7, 11, 12, 15, 19, 19,
5, 5, 11, 12, 14, 14, 15, 15]})
#view DataFrame
print (df)
team points
0 to 4
1 to 7
2 to 7
3 to 11
4 to 12
5 to 15
6 to 19
7 to 19
8 B 5
9 B 5
10 B 11
11 B 12
12 B 14
13 B 14
14 B 15
15 B 15
Aby obliczyć częstotliwość punktów dla każdej drużyny, pogrupowanych w określone koszyki, możemy zastosować następującą składnię:
#define groups
groups = df. groupby ([' team ', pd. cut (df. points , [0, 10, 15, 20])])
#display bin count grouped by team
groups. size (). unstack ()
points (0, 10] (10, 15] (15, 20]
team
A 3 3 2
B 2 6 0
Oto jak zinterpretować wynik:
- W sumie 3 zawodników drużyny A zdobyło od 0 do 10 punktów.
- W sumie 3 zawodników drużyny A zdobyło od 10 do 15 punktów.
- W sumie 2 zawodników drużyny A zdobyło od 15 do 20 punktów.
I tak dalej.
Zauważ, że możemy określić, które pojemniki chcemy, za pomocą funkcji pd.cut() .
Na przykład moglibyśmy zdefiniować tylko dwa pojemniki:
#define groups
groups = df. groupby ([' team ', pd. cut (df. points , [0, 10, 20])])
#display bin count grouped by team
groups. size (). unstack ()
points (0, 10] (10, 20]
team
At 3 5
B 2 6
Oto jak zinterpretować wynik:
- W sumie 3 zawodników drużyny A zdobyło od 0 do 10 punktów.
- W sumie 5 zawodników Drużyny A zdobyło od 10 do 20 punktów.
- W sumie 2 zawodników drużyny B zdobyło od 0 do 10 punktów.
- Łącznie 6 zawodników Drużyny B zdobyło od 10 do 20 punktów.
Uwaga 1 : Pełną dokumentację funkcji GroupBy znajdziesz tutaj .
Uwaga 2 : Pełną dokumentację funkcji wycinania można znaleźć 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ć tryb według grupy
Pandy: jak obliczyć korelację według grup