Панды: как посчитать уникальные комбинации двух столбцов
Вы можете использовать следующий синтаксис для подсчета количества уникальных комбинаций в двух столбцах в DataFrame pandas:
df[[' col1 ', ' col2 ']]. value_counts (). reset_index (name=' count ')
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: подсчет уникальных комбинаций двух столбцов в Pandas
Предположим, у нас есть следующий DataFrame 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 раза.
- Комбинация Heat-Forward встречается 2 раза.
- Комбинация «Теплозащита» встречается 2 раза.
- Комбинация Mavs-Forward встречается 1 раз.
Обратите внимание, что вы также можете сортировать результаты по возрастанию или убыванию.
Например, мы можем использовать следующий код для сортировки результатов в порядке возрастания номеров:
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: как создать сводную таблицу с количеством значений