Numpy:如何创建具有左右范围行限制的 2D 矩阵的蒙版 (0, 1)?

Numpy: how to create a mask (0, 1) of a 2D matrix having left and right limits of reach row?

提问人:Michele Antonazzi 提问时间:7/27/2023 最后编辑:jaredMichele Antonazzi 更新时间:7/27/2023 访问量:17

问:

我正在尝试生成一个掩码矩阵,其中每行都有独立的切片。从 0 矩阵开始,我想在每行的不同切片处放置一个 1。我找到的唯一解决方案是使用循环遍历切片列表并将其应用于相应的行。这可以在没有循环的情况下完成吗?forfor

请参阅以下示例:

mask = np.zeros((3, 3))
slices = [
[0, 2], # row 0, from [0:2] = 1
[1, 3], # row 1, from [1:3] = 1
[0, 1]  # row 2, from [0:1] = 1
]

for row, (x0, x1) in enumerate(slices):
    mask[row, x0:x1] = 1

我想在不迭代切片的情况下获得以下掩码

[[1, 1, 0],
[0, 1, 1],
[1, 0, 0]]
python numpy 切片

评论

0赞 jared 7/27/2023
这回答了你的问题吗?如何有效地将一维零数组设置为给定索引范围列表的 1

答: 暂无答案