上传者: 38546817
|
上传时间: 2021-12-05 14:18:46
|
文件大小: 59KB
|
文件类型: -
相比较pandas,numpy并没有很直接的rolling方法,但是numpy 有一个技巧可以让NumPy在C代码内部执行这种循环。
这是通过添加一个与窗口大小相同的额外尺寸和适当的步幅来实现的。
import numpy as np
data = np.arange(20)
def rolling_window(a, window):
shape = a.shape[:-1] + (a.shape[-1] - window + 1, window)
strides = a.strides + (a.strides[-1],)
return np.lib.stride_trick