Spec-Zone.ru › pandas 0.23

pandas.core.resample.Resampler.backfill

Resampler.backfill(limit=None) [source]

Заполнение новых пропущенных значений в ресемплированных данных методом «заднего заполнения».

В статистике импутация — это процесс заполнения пропущенных данных подставленными значениями [R30]. При ресемплировании данных могут появиться пропущенные значения (например, когда частота ресемплирования выше, чем исходная частота). Задний метод заполнения заменит значения NaN, появившиеся в ресемплированных данных, на следующее значение в исходной последовательности. Пропущенные значения, которые существовали в исходных данных, не будут изменены.

Параметры:

limit : целое число, необязательно

Предел количества заполняемых значений.

Возвращает:

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».

Ссылки

[R30] (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.23.4/generated/pandas.core.resample.Resampler.backfill.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API