pandas.core.groupby.DataFrameGroupBy.value_counts
- DataFrameGroupBy.value_counts(subset=None, normalize=False, sort=True, ascending=False, dropna=True)[source]
-
Возвращает Series или DataFrame, содержащие подсчеты уникальных строк.
Введено в версии 1.4.0.
- Параметры
-
- subset:подобный списку, необязательно
-
Столбцы, используемые при подсчете уникальных комбинаций.
- normalize:bool, по умолчанию False
-
Возвращает доли вместо частот.
- sort:bool, по умолчанию True
-
Сортировать по частотам.
- ascending:bool, по умолчанию False
-
Сортировать в порядке возрастания.
- dropna:bool, по умолчанию True
-
Не включать подсчеты строк, содержащих значения NA.
- Возвращает
-
- Series или DataFrame
-
Series, если as_index в groupby равно True, в противном случае DataFrame.
См. также
Series.value_counts-
Эквивалентный метод в Series.
DataFrame.value_counts-
Эквивалентный метод в DataFrame.
SeriesGroupBy.value_counts-
Эквивалентный метод в SeriesGroupBy.
Примечания
Если в groupby as_index равно True, то возвращаемая Series будет иметь MultiIndex с одним уровнем на каждый входной столбец.
Если в groupby as_index равно False, то возвращаемый DataFrame будет иметь дополнительный столбец со значением value_counts. Столбец имеет метку ‘count’ или ‘proportion’, в зависимости от параметра
normalize.
По умолчанию строки, содержащие какие-либо значения NA, исключаются из результата.
По умолчанию результат будет в порядке убывания, так что первый элемент каждой группы — это наиболее часто встречающаяся строка.
Примеры
>>> df = pd.DataFrame({ ... 'gender': ['male', 'male', 'female', 'male', 'female', 'male'], ... 'education': ['low', 'medium', 'high', 'low', 'high', 'low'], ... 'country': ['US', 'FR', 'US', 'FR', 'FR', 'FR'] ... })>>> df gender education country 0 male low US 1 male medium FR 2 female high US 3 male low FR 4 female high FR 5 male low FR>>> df.groupby('gender').value_counts() gender education country female high FR 1 US 1 male low FR 2 US 1 medium FR 1 dtype: int64>>> df.groupby('gender').value_counts(ascending=True) gender education country female high FR 1 US 1 male low US 1 medium FR 1 low FR 2 dtype: int64>>> df.groupby('gender').value_counts(normalize=True) gender education country female high FR 0.50 US 0.50 male low FR 0.50 US 0.25 medium FR 0.25 dtype: float64>>> df.groupby('gender', as_index=False).value_counts() gender education country count 0 female high FR 1 1 female high US 1 2 male low FR 2 3 male low US 1 4 male medium FR 1>>> df.groupby('gender', as_index=False).value_counts(normalize=True) gender education country proportion 0 female high FR 0.50 1 female high US 0.50 2 male low FR 0.50 3 male low US 0.25 4 male medium FR 0.25
© 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/1.5.0/reference/api/pandas.core.groupby.DataFrameGroupBy.value_counts.html