Pandas: як використовувати groupby і підрахунок значень


Ви можете використовувати такий базовий синтаксис, щоб підрахувати частоту унікальних значень на групу в pandas DataFrame:

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

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: використання GroupBy та підрахунку значень у Pandas

Припустімо, що у нас є наступні pandas DataFrame:

 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

Ми можемо використовувати наступний синтаксис для підрахунку частоти значень балів , згрупованих за стовпцями команди та позиції :

 #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

Ось як інтерпретувати результат:

  • Значення 8 з’явилося 0 разів у колонці очок для гравців з команди A та позиції C.
  • Значення 9 з’явилося 0 разів у колонці очок для гравців з команди A та позиції C.
  • Значення 10 з’явилося 0 разів у колонці очок для гравців з команди A та позиції C.
  • Значення 11 з’явилося в колонці очок 1 раз для гравців з команди A та позиції C.

І так далі.

Ми також можемо використати наступний синтаксис для підрахунку частоти позицій , згрупованих за командою :

 #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

Ось як інтерпретувати результат:

  • Значення «C» трапилося 1 раз у команді A.
  • Значення «F» з’явилося 2 рази в команді A.
  • Значення «G» з’явилося 2 рази в команді A.
  • Значення «C» зустрічалося 0 разів у команді B.
  • Значення «F» зустрічалося 4 рази в команді B.
  • Значення «G» трапилося 1 раз у команді B.

І так далі.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Як виконати суму GroupBy у Pandas
Як підрахувати унікальні значення за допомогою GroupBy в Pandas
Як використовувати Groupby та Plot у Pandas

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *