pandas.api.indexers.BaseIndexer#
- class pandas.api.indexers.BaseIndexer(index_array=None, window_size=0, **kwargs)[源代码][源代码]#
用于窗口边界计算的基类。
- 参数:
- index_arraynp.ndarray, 默认 None
类似数组的结构,表示数据点的索引。如果为 None,则假定默认索引。这对于处理数据中非均匀索引非常有用,例如在不规则时间戳的时间序列中。
- window_sizeint, 默认 0
移动窗口的大小。这是用于计算统计量的观测值数量。默认情况下,会考虑窗口内的所有观测值。
- **kwargs
传递给子类方法的额外关键字参数。
参见
DataFrame.rolling
提供对数据框的滚动窗口计算。
Series.rolling
提供对序列的滚动窗口计算。
例子
>>> 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
方法
get_window_bounds
([num_values, min_periods, ...])计算窗口的边界。