pandas.api.extensions.ExtensionArray._pad_or_backfill#

ExtensionArray._pad_or_backfill(*, method, limit=None, limit_area=None, copy=True)[源代码][源代码]#

填充或回填值,由 Series/DataFrame 的 ffill 和 bfill 使用。

参数:
方法{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’}

用于填充重新索引系列中空洞的方法:

  • pad / ffill: 将最后一个有效观测值向前传播到下一个有效观测值。

  • backfill / bfill: 使用下一个有效观测值来填补空白。

限制int, 默认为 None

这是要向前/向后填充的最大连续NaN值数。换句话说,如果存在超过此数量的连续NaN的间隙,则只会部分填充。如果未指定方法,则这是沿整个轴填充NaN的最大条目数。

limit_area{‘inside’, ‘outside’} or None, default None

Specifies which area to limit filling. - ‘inside’: Limit the filling to the area within the gaps. - ‘outside’: Limit the filling to the area outside the gaps. If None, no limitation is applied.

复制布尔值, 默认为 True

是否在填充之前复制数据。如果为 False,则应修改原始数据且不应分配新内存。对于无法执行此操作的 ExtensionArray 子类,由作者决定是忽略 “copy=False” 还是引发。如果存在任何 NA,则基类实现会忽略该关键字。

返回:
与自身类型相同

The filled array with the same type as the original.

参见

Series.ffill

Forward fill missing values.

Series.bfill

Backward fill missing values.

DataFrame.ffill

Forward fill missing values in DataFrame.

DataFrame.bfill

Backward fill missing values in DataFrame.

api.types.isna

Check for missing values.

api.types.isnull

Check for missing values.

例子

>>> arr = pd.array([np.nan, np.nan, 2, 3, np.nan, np.nan])
>>> arr._pad_or_backfill(method="backfill", limit=1)
<IntegerArray>
[<NA>, 2, 2, 3, <NA>, <NA>]
Length: 6, dtype: Int64