Pandas: как подсчитать уникальные комбинации двух столбцов


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

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