【发布时间】:2023-03-20 01:57:01
【问题描述】:
我正在尝试根据包含在另一个 numpy 数组中的该行的索引值将布尔矩阵中 False 元素的值更新为 True。
这是我的数组change,用于标识矩阵中需要更改的元素mask_matrix:
import numpy as np
mask_matrix = np.zeros((20, 25), dtype=bool)
change = np.array([ 6., 22., 22., 22., 22., 21., 22., 21., 17., 21., 22., 21., 22.,
21., 22., 12., 7., 7., 12., 17.])
所以change 中的每一项都告诉mask_matrix 中要更改的元素。例如。 change[0] = 6. 应该将mask_matrix 中的第一行和第 6 列更改为 6
我知道我可以改变这样的项目,
mask[0,:][6] = True
但我需要找到一种更有效的方法。
有人对如何做到这一点有任何建议吗?最好是矢量化的。
【问题讨论】: