pandas.Series.ffill#
- Series.ffill(*, axis=None, inplace=False, limit=None, limit_area=None, downcast=_NoDefault.no_default)[源代码]#
使用最后一个有效观测值传播NA/NaN值。
- Parameters:
- axisSeries 为 {0 或 ‘index’},DataFrame 为 {0 或 ‘index’, 1 或 ‘columns’}
填充缺失值的轴。对于 Series,此参数未使用,默认为 0。
- inplacebool,默认 False
如果为 True,则就地填充。注意:这将修改该对象的任何其他视图(例如 DataFrame 中列的无复制切片)。
- <strong>limit</strong>int,默认 None
如果指定了 method,则这是向前/向后填充的连续 NaN 值的最大数量。换句话说,如果存在超过此数量连续 NaN 的间隙,则只会部分填充。如果未指定 method,则这是在整个轴上填充 NaN 的条目的最大数量。如果不是 None,则必须大于 0。
- limit_area : {None, ‘inside’, ‘outside’},默认为 None{None, ‘inside’, ‘outside’}, default None
如果指定了 limit,连续的 NaNs 将根据此限制进行填充。
None:无填充限制。‘inside’:仅填充被有效值包围的 NaN(插值)。
‘outside’:仅填充有效值之外的 NaN(外插)。
在 2.2.0 版本加入.
- downcastdict,默认为 None
一个 {项目->dtype} 的字典,用于在可能的情况下向下转换,或者字符串 ‘infer’,它将尝试向下转换为合适的等效类型(例如,如果可能,float64 转换为 int64)。
自 2.2.0 版本弃用.
- Returns:
- Series/DataFrame 或 None
已填充缺失值的对象,如果
inplace=True则为 None。
Examples
>>> 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