pandas.core.groupby.DataFrameGroupBy.ffill#
- DataFrameGroupBy.ffill(limit=None)[source]#
- Forward fill the values. - Parameters:
- limitint, optional
- Limit of how many values to fill. 
 
- Returns:
- Series or DataFrame
- Object with missing values filled. 
 
 - See also - Series.ffill
- Returns Series with minimum number of char in object. 
- DataFrame.ffill
- Object with missing values filled or None if inplace=True. 
- Series.fillna
- Fill NaN values of a Series. 
- DataFrame.fillna
- Fill NaN values of a DataFrame. 
 - Examples - For 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 - For 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 - Propagate non-null values forward or backward within each group along columns. - >>> 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 - Propagate non-null values forward or backward within each group along rows. - >>> 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 - Only replace the first NaN element within a group along rows. - >>> 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