dask_expr._groupby.GroupBy.ffill
dask_expr._groupby.GroupBy.ffill¶
- GroupBy.ffill(limit=None, shuffle_method=None)[源代码]¶
向前填充值。
此文档字符串是从 pandas.core.groupby.groupby.GroupBy.ffill 复制的。
Dask 版本可能存在一些不一致性。
- 参数
- 限制int, 可选
填充值的数量限制。
- 返回
- Series 或 DataFrame
填充了缺失值的对象。
参见
Series.ffill
返回对象中字符数最少的系列。
DataFrame.ffill
如果 inplace=True,则填充缺失值的对象或为 None。
Series.fillna
填充一个 Series 中的 NaN 值。
DataFrame.fillna
填充 DataFrame 中的 NaN 值。
示例
对于 SeriesGroupBy:
>>> key = [0, 0, 1, 1] >>> ser = pd.Series([np.nan, 2, 3, np.nan], index=key) >>> ser 0 NaN 0 2.0 1 3.0 1 NaN dtype: float64 >>> ser.groupby(level=0).ffill() 0 NaN 0 2.0 1 3.0 1 3.0 dtype: float64
对于 DataFrameGroupBy:
>>> df = pd.DataFrame( ... { ... "key": [0, 0, 1, 1, 1], ... "A": [np.nan, 2, np.nan, 3, np.nan], ... "B": [2, 3, np.nan, np.nan, np.nan], ... "C": [np.nan, np.nan, 2, np.nan, np.nan], ... } ... ) >>> df key A B C 0 0 NaN 2.0 NaN 1 0 2.0 3.0 NaN 2 1 NaN NaN 2.0 3 1 3.0 NaN NaN 4 1 NaN NaN NaN
在每一列的每个组中,向前或向后传播非空值。
>>> df.groupby("key").ffill() A B C 0 NaN 2.0 NaN 1 2.0 3.0 NaN 2 NaN NaN 2.0 3 3.0 NaN 2.0 4 3.0 NaN 2.0
在每一组的行中,向前或向后传播非空值。
>>> df.T.groupby(np.array([0, 0, 1, 1])).ffill().T key A B C 0 0.0 0.0 2.0 2.0 1 0.0 2.0 3.0 3.0 2 1.0 1.0 NaN 2.0 3 1.0 3.0 NaN NaN 4 1.0 1.0 NaN NaN
仅在行内按组替换第一个NaN元素。
>>> df.groupby("key").ffill(limit=1) A B C 0 NaN 2.0 NaN 1 2.0 3.0 NaN 2 NaN NaN 2.0 3 3.0 NaN 2.0 4 3.0 NaN NaN