pandas.core.resample.Resampler.ffill#

Resampler.ffill(limit=None)[source]#

Forward fill the values.

Parameters:
limitint, optional

Limit of how many values to fill.

Returns:
An upsampled Series.

See also

Series.fillna

Fill NA/NaN values using the specified method.

DataFrame.fillna

Fill NA/NaN values using the specified method.

Examples

Here we only create a Series.

>>> ser = pd.Series([1, 2, 3, 4], index=pd.DatetimeIndex(
...                 ['2023-01-01', '2023-01-15', '2023-02-01', '2023-02-15']))
>>> ser
2023-01-01    1
2023-01-15    2
2023-02-01    3
2023-02-15    4
dtype: int64

Example for ffill with downsampling (we have fewer dates after resampling):

>>> ser.resample('MS').ffill()
2023-01-01    1
2023-02-01    3
Freq: MS, dtype: int64

Example for ffill with upsampling (fill the new dates with the previous value):

>>> ser.resample('W').ffill()
2023-01-01    1
2023-01-08    1
2023-01-15    2
2023-01-22    2
2023-01-29    2
2023-02-05    3
2023-02-12    3
2023-02-19    4
Freq: W-SUN, dtype: int64

With upsampling and limiting (only fill the first new date with the previous value):

>>> ser.resample('W').ffill(limit=1)
2023-01-01    1.0
2023-01-08    1.0
2023-01-15    2.0
2023-01-22    2.0
2023-01-29    NaN
2023-02-05    3.0
2023-02-12    NaN
2023-02-19    4.0
Freq: W-SUN, dtype: float64