Numpy实现条件更新

时间:2019-04-26 21:29:10

标签: numpy

我有一个值为0和1的2d np数组,称为t。我还有另一个2d数组,它使用称为q的随机值初始化。它们大小相同。我想更新q,以便在每个地方t为0,q都更改为-np.inf 我相信以下循环有效

for i in range(0, np.shape(t)[0]):
        for j in range(0, np.shape(t)[1]):
            if t[i, j] == 0:
                q[i, j] = -np.inf

但是我想知道是否有使用numpy的更有效的解决方案。

1 个答案:

答案 0 :(得分:0)

使用np.isclose是更好的方法,例如

q[np.isclose(t, 0.0)] = np.NINF