假设我有两个numpy数组:
import numpy as np
a = np.ones(5)
b = np.array([1.0, 1.1, 1.05, 1.2, 1.25])
我希望将元素
a[1]=a[0]*b[1]
转换为新元素 a[1]
, 然后使用 new_a
计算 a[2]=new_a*b[2]
。这是否可以在numpy中不使用循环实现? 使用循环的代码如下:for i in range(len(a)-1):
a[i+1] = a[i]*b[i+1]
print (a)
打印:
[ 1. 1.1 1.155 1.386 1.7325]
b
,则可以在调用cumprod
之前执行b[0] *= a[0]
,或者将整个结果乘以a[0]
(即cumprod(...) * a[0]
)。 - kennytm