pandas.DataFrame.ffill #

数据框。ffill ( * , axis = None , inplace = False , limit = None , limit_area = None , downcast = _NoDefault.no_default ) [来源] #

通过将最后一个有效观测值传播到下一个有效观测值来填充 NA/NaN 值。

参数
{0 或 'index'} 对于 Series,{0 或 'index', 1 或 'columns'} 对于 DataFrame

填充缺失值的轴。对于系列 ,此参数未使用,默认为 0。

inplace布尔值,默认 False

如果为 True,则就地填写。注意:这将修改该对象上的任何其他视图(例如,DataFrame 中列的无复制切片)。

limit int,默认无

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

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 版本起已弃用。

返回
系列/数据框或无

缺失值已填充的对象,如果 则为 None inplace=True

例子

>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],
...                    [3, 4, np.nan, 1],
...                    [np.nan, np.nan, np.nan, np.nan],
...                    [np.nan, 3, np.nan, 4]],
...                   columns=list("ABCD"))
>>> df
     A    B   C    D
0  NaN  2.0 NaN  0.0
1  3.0  4.0 NaN  1.0
2  NaN  NaN NaN  NaN
3  NaN  3.0 NaN  4.0
>>> df.ffill()
     A    B   C    D
0  NaN  2.0 NaN  0.0
1  3.0  4.0 NaN  1.0
2  3.0  4.0 NaN  1.0
3  3.0  3.0 NaN  4.0
>>> ser = pd.Series([1, np.nan, 2, 3])
>>> ser.ffill()
0   1.0
1   1.0
2   2.0
3   3.0
dtype: float64