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, ...])

计算窗口的边界。