pandas.core.groupby.DataFrameGroupBy.value_counts#
- DataFrameGroupBy.value_counts(subset=None, нормализовать=False, sort=True, ascending=False, dropna=True)[источник]#
Возвращает Series или DataFrame, содержащие количество уникальных строк.
Добавлено в версии 1.4.0.
- Параметры:
- subsetподобный списку, опционально
функция работает с файлами данных, имеющими известные и фиксированные ширины столбцов. Параметры функции для
- нормализоватьbool, по умолчанию False
Возвращать пропорции, а не частоты.
- sortbool, по умолчанию True
Сортировка по частотам.
- ascendingbool, по умолчанию False
Сортировка в порядке возрастания.
- dropnabool, по умолчанию True
Не включать подсчеты строк, содержащих значения NA.
- Возвращает:
- Series или DataFrame
Series, если groupby as_index равен 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 будет иметь дополнительный столбец со значениями подсчета. Столбец помечен как '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 Name: count, 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 Name: count, 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 Name: proportion, 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