pandas.api.indexers.BaseIndexer#
- class pandas.api.indexers.BaseIndexer(index_array=None, window_size=0, **kwargs)[source]#
Base class for window bounds calculations.
- Parameters:
- index_arraynp.ndarray, default None
Array-like structure representing the indices for the data points. If None, the default indices are assumed. This can be useful for handling non-uniform indices in data, such as in time series with irregular timestamps.
- window_sizeint, default 0
Size of the moving window. This is the number of observations used for calculating the statistic. The default is to consider all observations within the window.
- **kwargs
Additional keyword arguments passed to the subclass’s methods.
See also
DataFrame.rolling
Provides rolling window calculations on dataframe.
Series.rolling
Provides rolling window calculations on series.
Examples
>>> from pandas.api.indexers import BaseIndexer >>> class CustomIndexer(BaseIndexer): ... def get_window_bounds(self, num_values, min_periods, center, closed, step): ... start = np.arange(num_values, dtype=np.int64) ... end = np.arange(num_values, dtype=np.int64) + self.window_size ... return start, end >>> df = pd.DataFrame({"values": range(5)}) >>> indexer = CustomIndexer(window_size=2) >>> df.rolling(indexer).sum() values 0 1.0 1 3.0 2 5.0 3 7.0 4 4.0
Methods
get_window_bounds
([num_values, min_periods, ...])Computes the bounds of a window.