目前,我有一个代码检查数组中的给定元素是否等于 = 0,如果是,则将值设置为“级别”值(temp_board 是 2D numpy 数组,indices_to_watch 包含应该观察为零的二维坐标)。
indices_to_watch = [(0,1), (1,2)]
for index in indices_to_watch:
if temp_board[index] == 0:
temp_board[index] = level
我想将其转换为更类似于 numpy 的方法(删除 for 并仅使用 numpy 函数)以加快速度。这是我尝试过的:
masked = np.ma.array(temp_board, mask=(a!=0), hard_mask=True)
masked.put(indices_to_watch, level)
但不幸的是,当 put() 想要具有一维维度时,掩码数组(完全奇怪!),是否有其他方法可以更新等于 0 并具有具体索引的数组元素?
或者也许使用掩码数组不是要走的路?