pandas.Index.value_counts#

Индекс.value_counts(нормализовать=False, sort=True, ascending=False, bins=None, dropna=True)[источник]#

Вернуть Series, содержащий количество уникальных значений.

Результирующий объект будет в порядке убывания, так что первый элемент является наиболее часто встречающимся элементом. Исключает значения NA по умолчанию.

Параметры:
нормализоватьbool, по умолчанию False

Если True, то возвращаемый объект будет содержать относительные частоты уникальных значений.

sortbool, по умолчанию True

Сортировать по частотам, если True. Сохранять порядок данных, если False.

ascendingbool, по умолчанию False

Сортировка в порядке возрастания.

binsint, необязательный

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

dropnabool, по умолчанию True

Не включать подсчеты NaN.

Возвращает:
Series

Смотрите также

Series.count

Количество не-NA элементов в Series.

DataFrame.count

Количество не-NA элементов в DataFrame.

DataFrame.value_counts

Эквивалентный метод для DataFrames.

Примеры

>>> index = pd.Index([3, 1, 2, 3, 4, np.nan])
>>> index.value_counts()
3.0    2
1.0    1
2.0    1
4.0    1
Name: count, dtype: int64

С нормализовать установлено в True, возвращает относительную частоту путём деления всех значений на сумму значений.

>>> s = pd.Series([3, 1, 2, 3, 4, np.nan])
>>> s.value_counts(normalize=True)
3.0    0.4
1.0    0.2
2.0    0.2
4.0    0.2
Name: proportion, dtype: float64

bins

Бины могут быть полезны для перехода от непрерывной переменной к категориальной переменной; вместо подсчёта уникальных появлений значений разделите индекс на указанное количество полуоткрытых бинов.

>>> s.value_counts(bins=3)
(0.996, 2.0]    2
(2.0, 3.0]      2
(3.0, 4.0]      1
Name: count, dtype: int64

dropna

С dropna установлено в False мы также можем видеть значения индекса NaN.

>>> s.value_counts(dropna=False)
3.0    2
1.0    1
2.0    1
4.0    1
NaN    1
Name: count, dtype: int64