pandas.Series.bfill
- Series.bfill(*, axis=None, inplace=False, limit=None, limit_area=None, downcast=_NoDefault.no_default)[source]
-
Заполнение пропусков (NaN/NA) последующим действительным значением.
- Параметры:
-
- axis:{0 или ‘index’} для Series, {0 или ‘index’, 1 или ‘columns’} для DataFrame
-
Ось, по которой заполняются пропущенные значения. Для Series этот параметр не используется и по умолчанию равен 0.
- inplace:bool, по умолчанию False
-
Если True, заполняет на месте. Примечание: это изменяет любые другие представления этого объекта (например, срез без копирования для столбца в DataFrame).
- limit:int, по умолчанию None
-
Если метод указан, это максимальное количество последовательных значений NaN, которые необходимо заполнить вперед/назад. Другими словами, если есть разрыв с более чем этим количеством последовательных NaN, он будет заполнен только частично. Если метод не указан, это максимальное количество элементов по всей оси, где будут заполнены NaN. Должно быть больше 0, если не None.
- limit_area:{None, ‘inside’, ‘outside’}, по умолчанию None
-
Если limit указан, последовательные NaN будут заполнены с этим ограничением.
None: Без ограничений заполнения.‘inside’: Заполнение только NaN, окружённых действительными значениями (интерполяция).
‘outside’: Заполнение только NaN вне действительных значений (экстраполяция).
В версии 2.2.0.
- downcast:dict, по умолчанию None
-
Словарь item->dtype для приведения типов, если это возможно, или строка ‘infer’, которая попытается привести к соответствующему типу (например, float64 к int64, если это возможно).
Устарело начиная с версии 2.2.0.
- Возвращаемое значение:
-
- Series/DataFrame или None
-
Объект с заполненными пропущенными значениями или None, если
inplace=True.
Примеры
Для Series:
>>> s = pd.Series([1, None, None, 2]) >>> s.bfill() 0 1.0 1 2.0 2 2.0 3 2.0 dtype: float64 >>> s.bfill(limit=1) 0 1.0 1 NaN 2 2.0 3 2.0 dtype: float64
С DataFrame:
>>> df = pd.DataFrame({'A': [1, None, None, 4], 'B': [None, 5, None, 7]}) >>> df A B 0 1.0 NaN 1 NaN 5.0 2 NaN NaN 3 4.0 7.0 >>> df.bfill() A B 0 1.0 5.0 1 4.0 5.0 2 4.0 7.0 3 4.0 7.0 >>> df.bfill(limit=1) A B 0 1.0 5.0 1 NaN 5.0 2 4.0 7.0 3 4.0 7.0
© 2008–2022, 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/2.2.2/reference/api/pandas.Series.bfill.html