Вы можете использовать следующий синтаксис для подсчета количества уникальных комбинаций в двух столбцах в кадре данных pandas:
df[['col1', 'col2']]. value_counts().reset_index(name='count')
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: подсчет уникальных комбинаций двух столбцов в Pandas
Предположим, у нас есть следующий кадр данных pandas, который показывает команду и позицию различных баскетболистов:
import pandas as pd
#create dataFrame
df = pd.DataFrame({'team': ['Mavs', 'Mavs', 'Mavs', 'Mavs',
'Heat', 'Heat', 'Heat', 'Heat'],
'position': ['Guard', 'Guard', 'Guard', 'Forward',
'Guard', 'Forward', 'Forward', 'Guard']})
#view DataFrame
df
team position
0 Mavs Guard
1 Mavs Guard
2 Mavs Guard
3 Mavs Forward
4 Heat Guard
5 Heat Forward
6 Heat Forward
7 Heat Guard
Мы можем использовать следующий синтаксис для подсчета количества уникальных комбинаций команды и позиции :
df[['team', 'position']]. value_counts().reset_index(name='count')
team position count
0 Mavs Guard 3
1 Heat Forward 2
2 Heat Guard 2
3 Mavs Forward 1
Из вывода мы видим:
- Комбинация Mavs-Guard встречается 3 раза.
- Есть 2 случая комбинации Heat-Forward.
- Комбинация Heat-Guard встречается 2 раза.
- Существует 1 появление комбинации Mavs-Forward.
Обратите внимание, что вы также можете отсортировать результаты в порядке возрастания или убывания.
Например, мы можем использовать следующий код для сортировки результатов в порядке возрастания :
df[['team', 'position']]. value_counts (ascending= True ). reset_index(name='count')
team position count
0 Mavs Forward 1
1 Heat Forward 2
2 Heat Guard 2
3 Mavs Guard 3
Теперь результаты сортируются по количеству от меньшего к большему.
Примечание.Полную документацию по функции pandas value_counts() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Pandas: как использовать GroupBy и подсчет значений
Pandas: как использовать GroupBy с подсчетом бинов
Pandas: как создать сводную таблицу с подсчетом значений