Spec-Zone.ru › pandas 2

pandas.DataFrame.bfill

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

Если указан метод, это максимальное количество последовательных пропущенных значений для заполнения вперёд/назад. Другими словами, если есть пробел с количеством пропущенных значений, превышающим это число, он будет заполнен только частично. Если метод не указан, это максимальное количество элементов по всей оси, где будут заполнены пропуски. Должно быть больше 0, если не None.

limit_area:{None, ‘inside’, ‘outside’}, по умолчанию None

Если ограничение (limit) задано, последовательные пропуски будут заполнены с этим ограничением.

  • None: Ограничений на заполнение нет.

  • ‘inside’: Заполняются только пропуски, окружённые действительными значениями (интерполяция).

  • ‘outside’: Заполняются только пропуски вне действительных значений (экстраполяция).

Добавлен в версии 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.DataFrame.bfill.html

Spec-Zone.ru

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