pandas.core.resample.Resampler.bfill#
- окончательный Resampler.bfill(limit=None)[источник]#
Заполнить новые пропущенные значения в передискретизированных данных обратным заполнением.
В статистике импутация — это процесс замены отсутствующих данных замещающими значениями [1]. При передискретизации данных могут появляться пропущенные значения (например, когда частота передискретизации выше исходной частоты). Обратное заполнение заменит значения NaN, появившиеся в передискретизированных данных, следующим значением в исходной последовательности. Пропущенные значения, существовавшие в исходных данных, не будут изменены.
- Параметры:
- limitint, необязательный
Лимит количества значений для заполнения.
- Возвращает:
- Series, DataFrame
Повышенная Series или DataFrame с обратно заполненными значениями NaN.
Смотрите также
bfillПсевдоним backfill.
fillnaЗаполнить значения NaN с использованием указанного метода, который может быть ‘backfill’.
nearestЗаполнение значений NaN ближайшим соседом, начиная с центра.
ffillЗаполнение NaN значений вперед.
Series.fillnaЗаполните значения NaN в Series с использованием указанного метода, который может быть 'backfill'.
DataFrame.fillnaЗаполните значения NaN в DataFrame с помощью указанного метода, который может быть 'backfill'.
Ссылки
Примеры
Ресемплинг Series:
>>> s = pd.Series([1, 2, 3], ... index=pd.date_range('20180101', periods=3, freq='h')) >>> s 2018-01-01 00:00:00 1 2018-01-01 01:00:00 2 2018-01-01 02:00:00 3 Freq: h, dtype: int64
>>> s.resample('30min').bfill() 2018-01-01 00:00:00 1 2018-01-01 00:30:00 2 2018-01-01 01:00:00 2 2018-01-01 01:30:00 3 2018-01-01 02:00:00 3 Freq: 30min, dtype: int64
>>> s.resample('15min').bfill(limit=2) 2018-01-01 00:00:00 1.0 2018-01-01 00:15:00 NaN 2018-01-01 00:30:00 2.0 2018-01-01 00:45:00 2.0 2018-01-01 01:00:00 2.0 2018-01-01 01:15:00 NaN 2018-01-01 01:30:00 3.0 2018-01-01 01:45:00 3.0 2018-01-01 02:00:00 3.0 Freq: 15min, dtype: float64
Передискретизация DataFrame с пропущенными значениями:
>>> df = pd.DataFrame({'a': [2, np.nan, 6], 'b': [1, 3, 5]}, ... index=pd.date_range('20180101', periods=3, ... freq='h')) >>> df a b 2018-01-01 00:00:00 2.0 1 2018-01-01 01:00:00 NaN 3 2018-01-01 02:00:00 6.0 5
>>> df.resample('30min').bfill() a b 2018-01-01 00:00:00 2.0 1 2018-01-01 00:30:00 NaN 3 2018-01-01 01:00:00 NaN 3 2018-01-01 01:30:00 6.0 5 2018-01-01 02:00:00 6.0 5
>>> df.resample('15min').bfill(limit=2) a b 2018-01-01 00:00:00 2.0 1.0 2018-01-01 00:15:00 NaN NaN 2018-01-01 00:30:00 NaN 3.0 2018-01-01 00:45:00 NaN 3.0 2018-01-01 01:00:00 NaN 3.0 2018-01-01 01:15:00 NaN NaN 2018-01-01 01:30:00 6.0 5.0 2018-01-01 01:45:00 6.0 5.0 2018-01-01 02:00:00 6.0 5.0