Pandas: как использовать GroupBy и подсчет значений


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

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

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: используйте счетчики GroupBy и Value в Pandas

Предположим, у нас есть следующие Pandas DataFrame:

import pandas as pd

#create DataFrame
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 A G 8
1 A G 8
2 A F 10
3 A F 10
4 A C 11
5 B G 8
6 B F 9
7 B F 10
8 B F 10
9 B F 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 раз для игроков команды А и позиции С.

И так далее.

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

#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 раза в команде А.
  • Значение «G» встречалось 2 раза в команде А.
  • Значение «C» встречалось 0 раз в команде B.
  • Значение «F» встречалось 4 раза в команде B.
  • Значение «G» произошло 1 раз в команде B.

И так далее.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как выполнить GroupBy Sum в Pandas
Как подсчитать уникальные значения с помощью GroupBy в Pandas
Как использовать Groupby и Plot в Pandas

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.