pandas.core.resample.Resampler.bfill
-
Resampler.bfill(limit=None)[source] -
Заполнение пропущенных значений в пересэмплированных данных с помощью метода «обратного заполнения».
В статистике импутация — это процесс замены отсутствующих данных замещающими значениями [1]. При пересэмплировании данных могут появиться пропущенные значения (например, при частоте пересэмплирования выше, чем исходная частота). Заполнение «обратным сдвигом» заменит значения NaN, появившиеся в пересэмплированных данных, на следующее значение в исходной последовательности. Пропущенные значения, существовавшие в исходных данных, не будут изменены.
Параметры: -
limit : integer, optional -
Предел количества заполняемых значений.
Возвращаемое значение: - Series, DataFrame
-
Пересэмплированный Series или DataFrame с заполненными значениями NaN методом «обратного заполнения».
См. также
-
bfill - Псевдоним для backfill.
-
fillna - Заполнение значений NaN указанным методом, который может быть ‘backfill’.
-
nearest - Заполнение значений NaN ближайшим соседом, начиная с центра.
-
pad - Заполнение значений NaN с помощью метода «прямого заполнения».
-
pandas.Series.fillna - Заполнение значений NaN в Series указанным методом, который может быть ‘backfill’.
-
pandas.DataFrame.fillna - Заполнение значений NaN в DataFrame указанным методом, который может быть ‘backfill’.
Ссылки
[1] (1, 2) https://en.wikipedia.org/wiki/Imputation_(statistics) Примеры
Пересэмплирование 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').backfill() 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: 30T, dtype: int64>>> s.resample('15min').backfill(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: 15T, 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').backfill() 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').backfill(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 -
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.24.2/reference/api/pandas.core.resample.Resampler.bfill.html