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