Метод nunique
Метод nunique применяется к Series
и возвращает количество уникальных значений.
По умолчанию подсчитываются все уникальные значения,
исключая пропуски. Метод полезен для анализа
разнообразия данных в серии.
Синтаксис
ser.nunique([dropna])
Параметр dropna (по умолчанию True)
определяет, учитывать ли пропуски NaN
при подсчёте.
Пример
Давайте создадим серию с повторяющимися значениями и подсчитаем количество уникальных элементов:
import pandas as pd
ser = pd.Series([1, 2, 2, 3, 3, 3, 4])
res = ser.nunique()
print(res)
Результат выполнения кода:
4
Пример
Теперь добавим в серию пропуски и посмотрим,
как влияет параметр dropna:
import pandas as pd
import numpy as np
ser = pd.Series([1, 2, 2, np.nan, 3, np.nan])
res_1 = ser.nunique()
res_2 = ser.nunique(dropna=False)
print(res_1, res_2)
Результат выполнения кода:
3 4
В первом случае пропуски исключены, поэтому
уникальных значений 3 (числа 1, 2, 3).
Во втором случае пропуски учтены, поэтому
уникальных значений 4 (добавился NaN).
Пример
Метод хорошо работает со строковыми значениями:
import pandas as pd
ser = pd.Series(['a', 'b', 'a', 'c', 'b', 'd'])
res = ser.nunique()
print(res)
Результат выполнения кода:
4
Пример
Серия может содержать логические значения. В таком случае уникальных значений будет не больше двух:
import pandas as pd
ser = pd.Series([True, False, True, True])
res = ser.nunique()
print(res)
Результат выполнения кода:
2
Смотрите также
-
метод
unique,
который возвращает массив уникальных значений -
метод
value_counts,
который подсчитывает количество каждого уникального значения -
метод
drop_duplicates,
который удаляет дубликаты из серии -
метод
duplicated,
который указывает, какие элементы являются дубликатами