Метод ffill
Метод ffill применяется к объекту Resampler
и выполняет прямой перенос (forward fill) значений
из предыдущих строк в пропущенные ячейки.
Этот метод часто используется для заполнения
отсутствующих значений при изменении частоты
дискретизации временного ряда.
Синтаксис
resampler.ffill()
Пример
Создадим временной ряд с пропусками и применим передискретизацию с заполнением:
import pandas as pd
index = pd.date_range('2026-01-01', periods=5, freq='D')
df = pd.DataFrame({'a': [1, None, 3, None, 5]}, index=index)
res = df.resample('2D').ffill()
print(res)
Результат выполнения кода:
a
2026-01-01 1.0
2026-01-03 3.0
2026-01-05 5.0
Пример
Применим метод ffill к многоколоночной таблице:
import pandas as pd
index = pd.date_range('2026-01-01', periods=6, freq='D')
df = pd.DataFrame({
'a': [1, None, 3, None, 5, None],
'b': [10, None, 30, None, 50, None]
}, index=index)
res = df.resample('2D').ffill()
print(res)
Результат выполнения кода:
a b
2026-01-01 1.0 10.0
2026-01-03 3.0 30.0
2026-01-05 5.0 50.0
Пример
Заполнение пропусков с последующим применением агрегации:
import pandas as pd
index = pd.date_range('2026-01-01', periods=10, freq='D')
df = pd.DataFrame({
'a': [1, None, 3, 4, None, 6, 7, None, 9, 10],
'b': [10, 20, None, 40, 50, None, 70, 80, None, 100]
}, index=index)
res = df.resample('3D').ffill()
print(res)
Результат выполнения кода:
a b
2026-01-01 1.0 10.0
2026-01-04 4.0 40.0
2026-01-07 7.0 70.0
2026-01-10 10.0 100.0
Смотрите также
-
метод
bfill,
который выполняет обратное заполнение пропусков -
метод
interpolate,
который выполняет интерполяцию значений -
метод
asfreq,
который возвращает значения на новой частоте -
метод
mean,
который вычисляет средние значения при передискретизации