Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить