Spec-Zone.ru › pandas 2

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

Spec-Zone.ru

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