【发布时间】:2019-11-19 04:31:24
【问题描述】:
如何更改此代码避免使用 python for-loop,而是使用 numpy 函数
h, w = 2, 2
im = np.random.randint(255, size=(h, w, 3))
index = np.random.randint(3, size=(h, w))
number = np.random.randint(255, size=(h, w))
for i in range(h):
for j in range(w):
im[i, j, index[i, j]] += number[i, j]
【问题讨论】:
-
你正在做的是创建一个三层的 h * w 数组,用随机数填充它,然后为数组中的每个位置添加到随机层上的值。您到底想在这里替换什么?您是否想知道是否有一些特定于 numpy 的方法来更新整个数组的随机索引上的这些值?如果是这样,为什么?在这种情况下,for 循环有什么问题?
标签: python numpy multidimensional-array numpy-ndarray