pandas.DataFrame.rolling¶
- 
DataFrame.rolling(window, min_periods=None, freq=None, center=False, win_type=None, on=None, axis=0, closed=None)[source]¶
- Provides rolling window calculcations. - New in version 0.18.0. - Parameters: - window : int, or offset - Size of the moving window. This is the number of observations used for calculating the statistic. Each window will be a fixed size. - If its an offset then this will be the time period of each window. Each window will be a variable sized based on the observations included in the time-period. This is only valid for datetimelike indexes. This is new in 0.19.0 - min_periods : int, default None - Minimum number of observations in window required to have a value (otherwise result is NA). For a window that is specified by an offset, this will default to 1. - freq : string or DateOffset object, optional (default None) (DEPRECATED) - Frequency to conform the data to before computing the statistic. Specified as a frequency string or DateOffset object. - center : boolean, default False - Set the labels at the center of the window. - win_type : string, default None - Provide a window type. See the notes below. - on : string, optional - For a DataFrame, column on which to calculate the rolling window, rather than the index - closed : string, default None - Make the interval closed on the ‘right’, ‘left’, ‘both’ or ‘neither’ endpoints. For offset-based windows, it defaults to ‘right’. For fixed windows, defaults to ‘both’. Remaining cases not implemented for fixed windows. - New in version 0.20.0. - axis : int or string, default 0 - Returns: - a Window or Rolling sub-classed for the particular operation - Notes - By default, the result is set to the right edge of the window. This can be changed to the center of the window by setting - center=True.- The freq keyword is used to conform time series data to a specified frequency by resampling the data. This is done with the default parameters of - resample()(i.e. using the mean).- To learn more about the offsets & frequency strings, please see this link. - The recognized win_types are: - boxcar
- triang
- blackman
- hamming
- bartlett
- parzen
- bohman
- blackmanharris
- nuttall
- barthann
- kaiser(needs beta)
- gaussian(needs std)
- general_gaussian(needs power, width)
- slepian(needs width).
 - Examples - >>> df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]}) >>> df B 0 0.0 1 1.0 2 2.0 3 NaN 4 4.0 - Rolling sum with a window length of 2, using the ‘triang’ window type. - >>> df.rolling(2, win_type='triang').sum() B 0 NaN 1 1.0 2 2.5 3 NaN 4 NaN - Rolling sum with a window length of 2, min_periods defaults to the window length. - >>> df.rolling(2).sum() B 0 NaN 1 1.0 2 3.0 3 NaN 4 NaN - Same as above, but explicity set the min_periods - >>> df.rolling(2, min_periods=1).sum() B 0 0.0 1 1.0 2 3.0 3 2.0 4 4.0 - A ragged (meaning not-a-regular frequency), time-indexed DataFrame - >>> df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]}, ....: index = [pd.Timestamp('20130101 09:00:00'), ....: pd.Timestamp('20130101 09:00:02'), ....: pd.Timestamp('20130101 09:00:03'), ....: pd.Timestamp('20130101 09:00:05'), ....: pd.Timestamp('20130101 09:00:06')]) - >>> df B 2013-01-01 09:00:00 0.0 2013-01-01 09:00:02 1.0 2013-01-01 09:00:03 2.0 2013-01-01 09:00:05 NaN 2013-01-01 09:00:06 4.0 - Contrasting to an integer rolling window, this will roll a variable length window corresponding to the time period. The default for min_periods is 1. - >>> df.rolling('2s').sum() B 2013-01-01 09:00:00 0.0 2013-01-01 09:00:02 1.0 2013-01-01 09:00:03 3.0 2013-01-01 09:00:05 NaN 2013-01-01 09:00:06 4.0