小编Aki*_*ddy的帖子

计算我的 for 循环,并希望使用某些函数在没有 for 循环的情况下进行计算

dec = 0.1
data = np.array([100,200,300,400,500])
Run Code Online (Sandbox Code Playgroud)

我有一个像这样的 for 循环

y = np.zeros(len(data))
for i in range(len(data)):
    if i == 0:
        y[i] = (1.0 - dec) * data[i]
    else:
        y[i] = (1.0 - dec) * data[i] + (dec * y[i - 1])
Run Code Online (Sandbox Code Playgroud)

输出 y 是:

array([ 90.   , 189.   , 288.9  , 388.89 , 488.889])
Run Code Online (Sandbox Code Playgroud)

现在我想在没有循环的情况下进行上述计算,所以如果我打破代码并执行

data[0] = (1.0 - dec) * data[0]
data[1:] = (1.0 - dec) * data[1:] + (dec * data[0])
Run Code Online (Sandbox Code Playgroud)

输出数据为:

array([ 90, 189, 279, 369, 459]) …
Run Code Online (Sandbox Code Playgroud)

python numpy

5
推荐指数
1
解决办法
75
查看次数

标签 统计

numpy ×1

python ×1