Подсчёт уникальных значений в Pandas

В этом учебном пособии вы узнаете, как использовать Pandas для подсчета уникальных значений. Вы научитесь подсчитывать уникальные значения в столбце, в нескольких столбцах и во всем DataFrame. Умение подсчитывать уникальные значения может иметь важное практическое значение. Например, это можно использовать при тестировании вашего кода. Также это может быть использовано в проектах машинного обучения. Хотите узнать, как найти уникальные значения? Ознакомьтесь с этим методом unique()

К концу этого урока вы узнаете:

  • Как подсчитать уникальные значения в Pandas, используя метод nunique

  • Как подсчитать уникальные значения в нескольких столбцах или во всем DataFrame

  • Как подсчитать частоту уникального значения в Pandas

Оглавление

Загрузка образца DataFrame Pandas

Чтобы следовать за этим руководством, скопируйте и вставьте приведенный ниже код для загрузки образца DataFrame в Pandas. Если вы работаете со своими данными, не стесняйтесь использовать их. В таком случае ваши результаты, конечно, будут отличаться. Давайте начнем:

# Загружаем пример Pandas DataFrame
import pandas as pd

df = pd.DataFrame.from_dict({
    'Имя': ['Джейн', 'Ник', 'Кейт', 'Мелисса', 'Иван', 'Дуг', 'Джо'],
    'Возраст': [10, 35, 34, 23, 70, 55, 89],
    'Пол': ['Женский', 'Мужской', 'Женский', 'Женский', 'Мужской', 'Мужской', 'Мужской']
})

print(df.head())

# Возвращает:
#        Имя  Возраст      Пол
# 0     Джейн       10  Женский
# 1       Ник       35  Мужской
# 2      Кейт       34  Женский
# 3  Мелисса       23  Женский
# 4      Иван       70  Мужской

В следующих разделах вы узнаете, как подсчитать уникальные значения в DataFrame.

Как подсчитать уникальные значения в столбце DataFrame Pandas с помощью nunique

В этом разделе вы узнаете, как использовать метод nunique для подсчета количества уникальных значений в столбце DataFrame. Метод принимает два параметра:

  1. axis= для подсчета уникальных значений в столбцах или строках

  2. dropna= учитывать ли в подсчётах пропущенные значения или нет

Давайте посмотрим, как мы можем использовать метод .nunique() для подсчета количества уникальных значений в столбце 'Name':

# Подсчет уникальных значений в одном столбце Pandas DataFrame
print(df['Имя'].nunique())

# Возвращает: 7

Мы видим, что метод возвращает 7, что означает наличие семи уникальных значений в этой колонке. В следующем разделе вы узнаете, как подсчитать уникальные значения в нескольких колонках DataFrame.

Как подсчитать уникальные значения в нескольких столбцах DataFrame Pandas, используя nunique

Аналогично приведенному выше примеру, вы можете применить метод .nunique() к нескольким столбцам. Для этого просто выберите нужные вам столбцы, используя двойные квадратные скобки.

При применении метода к более чем одному столбцу возвращается объект Pandas Series. Давайте рассмотрим, как это работает:

# Подсчет уникальных значений в нескольких столбцах Pandas DataFrame
print(df[['Имя', 'Пол']].nunique())

# Возвращает:
# Имя      7
# Пол      2
# dtype: int64

Поскольку Pandas Series возвращается, мы можем получить доступ к подсчету уникальных значений, индексируя эту серию. Давайте посмотрим, как это работает:

# Доступ к количеству уникальных значений
num_unique = df[['Имя', 'Пол']].nunique()
print(num_unique['Пол'])

# Возвращает: 2

Как подсчитать уникальные значения в таблице данных Pandas с помощью nunique

Метод .nunique() также может быть применен ко всему DataFrame. Аналогично подсчету уникальных значений в нескольких столбцах DataFrame, метод вернет серию Pandas с количеством уникальных значений. Давайте посмотрим, как это работает при применении к целому DataFrame:

# Подсчет уникальных значений во всем Pandas DataFrame
print(df.nunique())

# Возвращает:
# Имя        7
# Возраст    7
# Пол        2
# dtype: int64

В заключительном разделе этого учебного пособия вы научитесь подсчитывать частоту уникальных значений в DataFrame.

Как подсчитать частоту уникальных значений в Pandas

В этом разделе вы научитесь подсчитывать частоту уникальных значений в DataFrame. Это позволит вам понять распределение значений по столбцу.

Чтобы сделать это, мы можем использовать функцию .value_counts(), которая генерирует таблицу частот для столбца. Давайте посмотрим, как мы можем подсчитать уникальные значения в нашем столбце 'Gender'

# Подсчет частоты уникальных значений в Pandas
print(df['Пол'].value_counts())

# Возвращает:
# Мужской    4
# Женский    3
# Name: Пол, dtype: int64

Мы можем видеть уникальные значения как индексы нашего ряда, где значения соответствуют количеству раз, которое каждое значение встречается в столбце. Например, 'Мужской' встречается четыре раза.

Заключение

В этом уроке вы научились подсчитывать количество уникальных значений в столбце DataFrame. Сначала вы узнали, как использовать метод .nunique() для подсчета числа уникальных значений в столбце Pandas, нескольких столбцах, а также во всем DataFrame. Также вы научились подсчитывать частоту уникальных значений в столбце Pandas DataFrame с помощью метода .value_counts().

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

Чтобы узнать больше о связанных темах, ознакомьтесь с обучающими материалами ниже:

  • Pandas: подсчет уникальных значений в объекте GroupBy

  • Python: подсчет уникальных значений в списке (4 способа)

  • Все способы получить уникальные значения Pandas

  • Подведение итогов и анализ таблицы данных Pandas

Last updated