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

Метод median

Метод median применяется к объекту GroupBy и возвращает медиану значений для каждой группы. Медиана - это среднее значение упорядоченного ряда, которое делит его на две равные части. Метод автоматически исключает пропущенные значения NaN при вычислениях. Результатом является DataFrame с группами в индексе и медианными значениями в столбцах.

Синтаксис

grouped.median(numeric_only=True)

Основные параметры метода:

  • numeric_only - логическое значение (по умолчанию True), определяет, вычислять ли медиану только для числовых столбцов.

Пример

Рассмотрим базовый пример вычисления медианы для групп:

import pandas as pd df = pd.DataFrame({ 'group': ['A', 'A', 'B', 'B', 'A', 'B'], 'a': [1, 3, 5, 7, 9, 2], 'b': [10, 30, 50, 70, 90, 20] }) grouped = df.groupby('group') res = grouped.median() print(res)

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

a b group A 3.0 30.0 B 5.0 50.0

Пример

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

import pandas as pd df = pd.DataFrame({ 'group': ['X', 'X', 'Y', 'Y'], 'a': [1, 2, 3, 4], 'text': ['abc', 'def', 'ghi', 'jkl'] }) grouped = df.groupby('group') res = grouped.median(numeric_only=True) print(res)

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

a group X 1.5 Y 3.5

Пример

Медиана устойчива к выбросам в отличие от среднего. Рассмотрим это на примере:

import pandas as pd df = pd.DataFrame({ 'group': ['A', 'A', 'A', 'A', 'A'], 'a': [1, 2, 3, 4, 100] }) grouped = df.groupby('group') mean_res = grouped.mean() median_res = grouped.median() print('Mean:') print(mean_res) print('\nMedian:') print(median_res)

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

Mean: a group A 22.0 Median: a group A 3.0

Пример

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

import pandas as pd df = pd.DataFrame({ 'cat1': ['A', 'A', 'B', 'B', 'A'], 'cat2': ['X', 'Y', 'X', 'Y', 'X'], 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) grouped = df.groupby(['cat1', 'cat2']) res = grouped.median() print(res)

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

a b cat1 cat2 A X 3.0 30.0 Y 2.0 20.0 B X 3.0 30.0 Y 4.0 40.0

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

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