Dor*_*ian 11 python numpy moving-average
我编写了下面的函数,以便根据所需的 SMA 公式查找 csv 文件的 SMA,但是,我的公式有问题,我无法弄清楚。
def SMA_calculation(t, w):
s = np.size(t)
g = np.zeros(s)
for i in range(0, s):
if i < w-1:
g[i] = np.NaN
else:
g[i] = np.mean(t[i-w:i])
return g
Run Code Online (Sandbox Code Playgroud)
该块第一次else执行的时间是i == w - 1。这意味着传递给的参数mean是t[-1:w-1]。这是错误的。您想要获取平均值的第一个切片是t[:w]。因此,您需要将切片的开始索引和结束索引都加一:
g[i] = np.mean(t[i-w+1:i+1])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |