Как подсчитать уникальные значения в Pandas (с примерами)


Вы можете использовать функцию nunique() для подсчета количества уникальных значений в кадре данных pandas.

Эта функция использует следующий базовый синтаксис:

#count unique values in each column
df.nunique ()

#count unique values in each row
df.nunique (axis= 1 )

В следующих примерах показано, как использовать эту функцию на практике со следующими пандами DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
 'points': [8, 8, 13, 13, 22, 22, 25, 29],
 'assists': [5, 8, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 11, 6, 6, 5, 9, 12]})

#view DataFrame
df

 team points assists rebounds
0 A 8 5 11
1 A 8 8 8
2 A 13 7 11
3 A 13 9 6
4 B 22 12 6
5 B 22 9 5
6 B 25 9 9
7 B 29 4 12

Пример 1. Подсчет уникальных значений в каждом столбце

Следующий код показывает, как подсчитать количество уникальных значений в каждом столбце DataFrame:

#count unique values in each column
df.nunique ()

team 2
points 5
assists 5
rebounds 6
dtype: int64

Из вывода мы видим:

  • Столбец «команда» имеет 2 уникальных значения.
  • Столбец «баллы» имеет 5 уникальных значений.
  • Столбец «Помощь» имеет 5 уникальных значений.
  • Столбец «Подборы» имеет 6 уникальных значений.

Пример 2. Подсчет уникальных значений в каждой строке

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

#count unique values in each row
df.nunique (axis= 1 )

0 4
1 2
2 4
3 4
4 4
5 4
6 3
7 4
dtype: int64

Из вывода мы видим:

  • Первая строка имеет 4 уникальных значения
  • Вторая строка имеет 2 уникальных значения
  • Третья строка имеет 4 уникальных значения

И так далее.

Пример 3. Подсчет уникальных значений по группам

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

#count unique 'points' values, grouped by team
df.groupby('team')['points']. nunique ()

team
A 2
B 3
Name: points, dtype: int64

Из вывода мы видим:

  • Команда «А» имеет 2 уникальных значения «очков».
  • Команда «Б» имеет 3 уникальных значения «очков».

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

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как подсчитать наблюдения по группе в Pandas
Как подсчитать пропущенные значения в Pandas
Как использовать функцию Pandas value_counts()

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