0

Bottleneck 的.move_mean 不能采用小于窗口大小的数据大小,不像 panda 的 .rolling().mean 函数可以使用比窗口大小更短的数据(假设 min_periods 小于数据大小)。

我是否遗漏了什么,或者这个模块可以解决这个问题?

由于数据大小小于窗口大小而导致失败的代码示例:

import numpy as np
import bottleneck as bn
wdw = 1600
price2= np.sort(np.random.randint(1, high=1000, size=100))
btp = bn.move_mean(price2, window=wdw, min_count=2)

错误:

 Traceback (most recent call last):   File
 "D:/python-projects/risk2/test.py", line 6, in <module>
     btp = (price2 - bn.move_mean(price2, window=wdw, min_count=2)) / bn.move_std(price2, window=wdw, min_count=2)  
ValueError: Moving window (=1600) must between 1 and 100, inclusive

我想避免另一个 if 声明窗口值(也许避免熊猫)。

4

0 回答 0