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

Метод mean

Метод mean применяется к объекту Resampler, который создаётся методом resample у DataFrame или Series с временным индексом. Он вычисляет среднее арифметическое значение для каждого интервала передискретизации. Метод не принимает дополнительных параметров и возвращает DataFrame или Series со средними значениями по каждому интервалу.

Синтаксис

resampler.mean()

Пример

Давайте создадим временной ряд с ежедневными данными и вычислим среднее значение за недельные интервалы:

import pandas as pd dates = pd.date_range('2023-01-01', periods=14, freq='D') df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 'b': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140] }, index=dates) res = df.resample('W').mean() print(res)

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

a b 2023-01-01 4.0 40.0 2023-01-08 11.0 110.0

Пример

Рассмотрим применение метода mean к отдельной колонке Series:

import pandas as pd dates = pd.date_range('2023-01-01', periods=10, freq='D') ser = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], index=dates) res = ser.resample('2D').mean() print(res)

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

2023-01-01 1.5 2023-01-03 3.5 2023-01-05 5.5 2023-01-07 7.5 2023-01-09 9.5 Freq: 2D, dtype: float64

Пример

Метод mean игнорирует пропущенные значения NaN при вычислении среднего:

import pandas as pd import numpy as np dates = pd.date_range('2023-01-01', periods=6, freq='D') df = pd.DataFrame({ 'a': [1, 2, np.nan, 4, 5, 6], 'b': [10, 20, 30, np.nan, 50, 60] }, index=dates) res = df.resample('2D').mean() print(res)

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

a b 2023-01-01 1.500000 15.0 2023-01-03 4.000000 30.0 2023-01-05 5.500000 55.0

Пример

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

import pandas as pd dates = pd.date_range('2023-01-15', periods=40, freq='D') df = pd.DataFrame({ 'a': range(1, 41), 'b': range(10, 410, 10) }, index=dates) res = df.resample('M', label='left').mean() print(res)

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

a b 2022-12-31 8.235294 82.352941 2023-01-31 24.500000 245.000000

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

  • класс Resampler,
    который используется для передискретизации временных рядов
  • метод sum,
    который вычисляет сумму значений за интервал
  • метод min,
    который находит минимальное значение за интервал
  • метод max,
    который находит максимальное значение за интервал
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить