使用Python中的numpy库中的rolling()函数来完成变长的窗口计算。
例如,我们可以用rolling()函数计算一个长度为3到10的窗口的平均值:
import numpy as np
# 生成一个长度为100的随机数序列
data = np.random.rand(100)
# 使用rolling()函数计算长度为3到10的窗口平均值
for window_size in range(3, 11):
rolling_mean = np.convolve(data, np.ones(window_size)/window_size, mode='valid')
print(f'窗口大小为{window_size}时的平均值为:{rolling_mean}')
其中,np.ones()函数生成了一个长度为窗口大小的全1数组,除以窗口大小即可得到窗口平均值计算时的系数。np.convolve()函数则用于进行卷积计算,mode参数设置为'valid'表示只返回有效部分的结果。