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

Метод interpolate

Метод interpolate класса Resampler применяется для заполнения пропущенных значений, возникающих после передискретизации временных рядов. Он использует различные методы интерполяции для восстановления отсутствующих данных между существующими точками. Основные параметры: method - метод интерполяции (по умолчанию 'linear'), limit - максимальное количество подряд идущих пропусков для заполнения.

Синтаксис

resampler.interpolate(method='linear', limit=None, limit_direction='forward', **kwargs)

Пример

Давайте создадим временной ряд с пропущенными значениями и выполним передискретизацию с интерполяцией:

import pandas as pd import numpy as np date_rng = pd.date_range('2023-01-01', periods=6, freq='D') df = pd.DataFrame({'a': [1, np.nan, 3, np.nan, 5, 6]}, index=date_rng) res = df.resample('2D').interpolate() print(res)

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

a 2023-01-01 1.000000 2023-01-02 1.500000 2023-01-03 3.000000 2023-01-04 4.000000 2023-01-05 5.000000 2023-01-06 6.000000

Пример

Давайте используем метод интерполяции 'pad' для заполнения пропусков предыдущим значением:

import pandas as pd import numpy as np date_rng = pd.date_range('2023-01-01', periods=6, freq='D') df = pd.DataFrame({'a': [1, np.nan, 3, np.nan, 5, 6]}, index=date_rng) res = df.resample('2D').interpolate(method='pad') print(res)

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

a 2023-01-01 1.000000 2023-01-02 1.000000 2023-01-03 3.000000 2023-01-04 3.000000 2023-01-05 5.000000 2023-01-06 5.000000

Пример

Давайте ограничим количество заполняемых пропусков с помощью параметра limit:

import pandas as pd import numpy as np date_rng = pd.date_range('2023-01-01', periods=6, freq='D') df = pd.DataFrame({'a': [1, np.nan, np.nan, np.nan, 5, 6]}, index=date_rng) res = df.resample('2D').interpolate(method='linear', limit=1) print(res)

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

a 2023-01-01 1.000000 2023-01-02 1.500000 2023-01-03 2.000000 2023-01-04 NaN 2023-01-05 5.000000 2023-01-06 6.000000

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

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