我有一个numpy数组,数字从0到2:
myArray = np.random.randint(3, size=(255,255,1)).astype('uint8')
现在我希望所有索引的值为0。
例如(220,15)
这样我就可以做
myArray[220][15]
并检索0。
答案 0 :(得分:1)
您需要np.where
不包含元素,并且需要zip
`em作为您的首选格式:
>>> indices = np.where(myArray == 0)
>>> element_wise = zip(*indices)
>>> next(element_wise)
(0, 3, 0)
答案 1 :(得分:0)
请注意,即使第三个数组只能采用0
作为索引,您的数组也具有三个维度,因此您的索引将具有三个值。
您可以使用numpy的n维枚举器遍历数组,获取值为0的索引列表。
zero_indices = [index for index, value in np.ndenumerate(myArray) if value == 0]
编辑:Slam的答案应该要快得多。