РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
373 of 687 menu

Метод describe

Метод describe применяется к объекту GroupBy и возвращает сводную описательную статистику для каждой группы. По умолчанию метод вычисляет основные статистические показатели: количество значений, среднее арифметическое, стандартное отклонение, минимальное значение, квартили и максимальное значение. Метод полезен для быстрого анализа распределения данных внутри групп.

Синтаксис

groupby_object.describe(percentiles=None, include=None, exclude=None)

Параметры метода:

  • percentiles - список процентилей для вычисления (по умолчанию [0.25, 0.5, 0.75])
  • include - список типов данных для включения (например, 'all', 'number', 'object')
  • exclude - список типов данных для исключения

Пример

Создадим таблицу с данными о продажах и сгруппируем по категориям:

import pandas as pd df = pd.DataFrame({ 'category': ['A', 'A', 'B', 'B', 'C', 'C', 'A', 'B'], 'value': [10, 20, 15, 25, 30, 35, 18, 22] }) grouped = df.groupby('category') print(grouped.describe())

Результат выполнения кода:

value count mean std min 25% 50% 75% max category A 3.0 16.0 5.291503 10.0 14.0 18.0 19.0 20.0 B 3.0 20.666666 5.131601 15.0 18.5 22.0 23.5 25.0 C 2.0 32.5 3.535534 30.0 31.25 32.5 33.75 35.0

Пример

Выведем статистику с кастомными процентилями для каждой группы:

import pandas as pd df = pd.DataFrame({ 'category': ['X', 'X', 'Y', 'Y', 'Z', 'Z', 'X'], 'value': [5, 15, 10, 20, 25, 30, 12] }) grouped = df.groupby('category') print(grouped.describe(percentiles=[0.1, 0.5, 0.9]))

Результат выполнения кода:

value count mean std min 10% 50% 90% max category X 3.0 10.666667 5.131601 5.0 6.0 12.0 14.0 15.0 Y 2.0 15.0 7.071068 10.0 10.5 15.0 19.5 20.0 Z 2.0 27.5 3.535534 25.0 25.5 27.5 29.5 30.0

Пример

Используем метод describe с группировкой по нескольким колонкам:

import pandas as pd df = pd.DataFrame({ 'region': ['North', 'South', 'North', 'South', 'East'], 'product': ['A', 'A', 'B', 'B', 'A'], 'sales': [100, 150, 120, 130, 110], 'profit': [10, 15, 12, 13, 11] }) grouped = df.groupby(['region', 'product']) print(grouped.describe())

Результат выполнения кода:

sales profit count mean std min max count mean std min max region product East A 1.0 110.0 NaN 110.0 110.0 1.0 11.0 NaN 11.0 11.0 North A 1.0 100.0 NaN 100.0 100.0 1.0 10.0 NaN 10.0 10.0 B 1.0 120.0 NaN 120.0 120.0 1.0 12.0 NaN 12.0 12.0 South A 1.0 150.0 NaN 150.0 150.0 1.0 15.0 NaN 15.0 15.0 B 1.0 130.0 NaN 130.0 130.0 1.0 13.0 NaN 13.0 13.0

Пример

Получим описательную статистику только для числовых колонок:

import pandas as pd df = pd.DataFrame({ 'group': ['A', 'B', 'A', 'B', 'A'], 'num1': [1, 2, 3, 4, 5], 'num2': [10, 20, 30, 40, 50], 'text': ['x', 'y', 'z', 'w', 'v'] }) grouped = df.groupby('group') print(grouped.describe(include='number'))

Результат выполнения кода:

num1 num2 count mean std min 25% 50% 75% max count mean std min 25% 50% 75% max group A 3.0 3.0 2.0 1.0 2.0 3.0 4.0 5.0 3.0 30.0 20.0 10.0 20.0 30.0 40.0 50.0 B 2.0 3.0 1.414214 2.0 2.5 3.0 3.5 4.0 2.0 30.0 14.142136 20.0 25.0 30.0 35.0 40.0

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

  • метод agg,
    который позволяет применять пользовательские агрегации
  • метод mean,
    который вычисляет среднее арифметическое для каждой группы
  • метод count,
    который подсчитывает количество значений в каждой группе
  • метод quantile,
    который вычисляет квантили для каждой группы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить