使用 NumPy 计算向量中的值

Compute values in vector with NumPy

我使用 NumPy。

我用 NumPy 和其他带有数值的变量定义了一个向量 x

我将 return 一个与 x 长度相同的向量 y 但值 y[i] 在这个向量 y 需要从不同的计算公式取决于相应的 x[i].

我可以使用 NumPy 做一些聪明的事情吗,还是我必须遍历向量 x 并针对 x 中的每个元素确定 x[i] 是大于还是小于特定值并确定对特定元素使用哪个公式?

我想我可以做类似的事情

y[x > a] = 2*x+7
y[x <= a] = 3*x+9
return y

查看 np.where http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html

y = np.where(x > a, 2 * x + 7, 3 * x + 9)