我有一个数字从 0 到 2 的 numpy 数组:myArray = np.random.randint(3, size=(255,255,1)).astype('uint8')现在我想要所有值为 0 的索引。例如 (220,15)这样我就可以做 myArray[220][15]和检索0。
2 回答

有只小跳蛙
TA贡献1824条经验 获得超8个赞
请注意,您的数组具有三个维度,即使第三个维度只能0
作为其索引,因此您的索引将具有三个值。
您可以使用 numpy 的 n 维枚举器遍历数组,获取值为 0 的索引列表。
zero_indices = [index for index, value in np.ndenumerate(myArray) if value == 0]
编辑:Slam 的回答应该快很多。

收到一只叮咚
TA贡献1821条经验 获得超4个赞
你需要np.where没有元素,zip`em 是你喜欢的格式:
>>> indices = np.where(myArray == 0)
>>> element_wise = zip(*indices)
>>> next(element_wise)
(0, 3, 0)
添加回答
举报
0/150
提交
取消