pandas.Series.asfreq#
- Series.asfreq(freq, method=None, how=None, normalize=False, fill_value=None)[source]#
- Convert time series to specified frequency. - Returns the original data conformed to a new index with the specified frequency. - If the index of this Series/DataFrame is a - PeriodIndex, the new index is the result of transforming the original index with- PeriodIndex.asfreq(so the original index will map one-to-one to the new index).- Otherwise, the new index will be equivalent to - pd.date_range(start, end, freq=freq)where- startand- endare, respectively, the first and last entries in the original index (see- pandas.date_range()). The values corresponding to any timesteps in the new index which were not present in the original index will be null (- NaN), unless a method for filling such unknowns is provided (see the- methodparameter below).- The - resample()method is more appropriate if an operation on each group of timesteps (such as an aggregate) is necessary to represent the data at the new frequency.- Parameters:
- freqDateOffset or str
- Frequency DateOffset or string. 
- method{‘backfill’/’bfill’, ‘pad’/’ffill’}, default None
- Method to use for filling holes in reindexed Series (note this does not fill NaNs that already were present): - ‘pad’ / ‘ffill’: propagate last valid observation forward to next valid 
- ‘backfill’ / ‘bfill’: use NEXT valid observation to fill. 
 
- how{‘start’, ‘end’}, default end
- For PeriodIndex only (see PeriodIndex.asfreq). 
- normalizebool, default False
- Whether to reset output index to midnight. 
- fill_valuescalar, optional
- Value to use for missing values, applied during upsampling (note this does not fill NaNs that already were present). 
 
- Returns:
- Series/DataFrame
- Series/DataFrame object reindexed to the specified frequency. 
 
 - See also - reindex
- Conform DataFrame to new index with optional filling logic. 
 - Notes - To learn more about the frequency strings, please see this link. - Examples - Start by creating a series with 4 one minute timestamps. - >>> index = pd.date_range('1/1/2000', periods=4, freq='T') >>> series = pd.Series([0.0, None, 2.0, 3.0], index=index) >>> df = pd.DataFrame({'s': series}) >>> df s 2000-01-01 00:00:00 0.0 2000-01-01 00:01:00 NaN 2000-01-01 00:02:00 2.0 2000-01-01 00:03:00 3.0 - Upsample the series into 30 second bins. - >>> df.asfreq(freq='30S') s 2000-01-01 00:00:00 0.0 2000-01-01 00:00:30 NaN 2000-01-01 00:01:00 NaN 2000-01-01 00:01:30 NaN 2000-01-01 00:02:00 2.0 2000-01-01 00:02:30 NaN 2000-01-01 00:03:00 3.0 - Upsample again, providing a - fill value.- >>> df.asfreq(freq='30S', fill_value=9.0) s 2000-01-01 00:00:00 0.0 2000-01-01 00:00:30 9.0 2000-01-01 00:01:00 NaN 2000-01-01 00:01:30 9.0 2000-01-01 00:02:00 2.0 2000-01-01 00:02:30 9.0 2000-01-01 00:03:00 3.0 - Upsample again, providing a - method.- >>> df.asfreq(freq='30S', method='bfill') s 2000-01-01 00:00:00 0.0 2000-01-01 00:00:30 NaN 2000-01-01 00:01:00 NaN 2000-01-01 00:01:30 2.0 2000-01-01 00:02:00 2.0 2000-01-01 00:02:30 3.0 2000-01-01 00:03:00 3.0