Spec-Zone.ru › pandas 2

pandas.DataFrame.value_counts

DataFrame.value_counts(subset=None, normalize=False, sort=True, ascending=False, dropna=True)[source]

Возвращает Series, содержащую частоту каждого уникального ряда в DataFrame.

Параметры:
subset:label или список меток, необязательно

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

normalize:bool, по умолчанию False

Возвращает пропорции вместо частот.

sort:bool, по умолчанию True

Сортировать по частотам, если True. Сортировать по значениям столбцов DataFrame, если False.

ascending:bool, по умолчанию False

Сортировать по возрастанию.

dropna:bool, по умолчанию True

Не включать подсчет строк, содержащих значения NA.

Введено в версии 1.3.0.

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

См. также

Series.value_counts

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

Примечания

Возвращаемая Series будет иметь MultiIndex с одним уровнем на каждый входной столбец, но Index (не-многоуровневый) для одной метки. По умолчанию строки, содержащие какие-либо значения NA, исключаются из результата. По умолчанию результирующая Series будет отсортирована по убыванию, так что первый элемент — это наиболее часто встречающийся ряд.

Примеры

>>> df = pd.DataFrame({'num_legs': [2, 4, 4, 6],
...                    'num_wings': [2, 0, 0, 0]},
...                   index=['falcon', 'dog', 'cat', 'ant'])
>>> df
        num_legs  num_wings
falcon         2          2
dog            4          0
cat            4          0
ant            6          0
>>> df.value_counts()
num_legs  num_wings
4         0            2
2         2            1
6         0            1
Name: count, dtype: int64
>>> df.value_counts(sort=False)
num_legs  num_wings
2         2            1
4         0            2
6         0            1
Name: count, dtype: int64
>>> df.value_counts(ascending=True)
num_legs  num_wings
2         2            1
6         0            1
4         0            2
Name: count, dtype: int64
>>> df.value_counts(normalize=True)
num_legs  num_wings
4         0            0.50
2         2            0.25
6         0            0.25
Name: proportion, dtype: float64

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

>>> df = pd.DataFrame({'first_name': ['John', 'Anne', 'John', 'Beth'],
...                    'middle_name': ['Smith', pd.NA, pd.NA, 'Louise']})
>>> df
  first_name middle_name
0       John       Smith
1       Anne        <NA>
2       John        <NA>
3       Beth      Louise
>>> df.value_counts()
first_name  middle_name
Beth        Louise         1
John        Smith          1
Name: count, dtype: int64
>>> df.value_counts(dropna=False)
first_name  middle_name
Anne        NaN            1
Beth        Louise         1
John        Smith          1
            NaN            1
Name: count, dtype: int64
>>> df.value_counts("first_name")
first_name
John    2
Anne    1
Beth    1
Name: count, dtype: int64

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.DataFrame.value_counts.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API