Вы можете использовать следующий базовый синтаксис для подсчета частоты уникальных значений по группам в кадре данных 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