Метод bfill
Метод bfill применяется к объекту Resampler,
который получается в результате вызова метода resample
на DataFrame или Series с временным индексом.
Этот метод заполняет пропуски, возникшие при передискретизации,
значениями из следующей по порядку строки. Если следующей
строки нет, то значение остаётся пропущенным.
Метод не принимает никаких параметров.
Возвращает он DataFrame или Series
с заполненными пропусками.
Синтаксис
resampler.bfill()
Пример
Создадим временной ряд с пропусками в индексе и выполним
передискретизацию с увеличением частоты. Затем заполним
пропуски методом bfill:
import pandas as pd
index = pd.date_range('2023-01-01', periods=3, freq='D')
ser = pd.Series([1, 2, 3], index=index)
res = ser.resample('12H').bfill()
print(res)
Результат выполнения кода:
2023-01-01 00:00:00 1.0
2023-01-01 12:00:00 2.0
2023-01-02 00:00:00 2.0
2023-01-02 12:00:00 3.0
2023-01-03 00:00:00 3.0
Freq: 12H, dtype: float64
Пример
Рассмотрим пример с DataFrame. Выполним
передискретизацию и заполним пропуски обратным способом:
import pandas as pd
index = pd.date_range('2023-01-01', periods=3, freq='D')
df = pd.DataFrame({'a': [1, 2, 3], 'b': [10, 20, 30]}, index=index)
res = df.resample('12H').bfill()
print(res)
Результат выполнения кода:
a b
2023-01-01 00:00:00 1.0 10.0
2023-01-01 12:00:00 2.0 20.0
2023-01-02 00:00:00 2.0 20.0
2023-01-02 12:00:00 3.0 30.0
2023-01-03 00:00:00 3.0 30.0
Пример
Если после передискретизации в конце ряда нет следующего
значения, то bfill оставляет пропуск:
import pandas as pd
index = pd.date_range('2023-01-01', periods=2, freq='D')
ser = pd.Series([1, 2], index=index)
res = ser.resample('12H').bfill()
print(res)
Результат выполнения кода:
2023-01-01 00:00:00 1.0
2023-01-01 12:00:00 2.0
2023-01-02 00:00:00 2.0
2023-01-02 12:00:00 NaN
Freq: 12H, dtype: float64
Смотрите также
-
метод
ffill,
который заполняет пропуски значением из предыдущей строки -
метод
asfreq,
который выполняет передискретизацию без заполнения -
метод
interpolate,
который интерполирует пропущенные значения -
метод
mean,
который вычисляет среднее при понижении частоты