2
我看到this question,但希望减少从mask = array == value
获取一个值的第一次出现在一个N维numpy的阵列
mask = array([[[ True, True, True],
[False, True, True]],
[[False, True, True],
[False, True, True]],
[[False, False, True],
[False, True, True]]])
这导致
where(mask) = (array([0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2]),
array([0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1]),
array([0, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2]))
和我创建的数组想将其减少到第一次出现的数组True
array([[0, 1],
[1, 1],
[2, 1]])
,但不能解决如何从numpy.where
的输出去解决这个问题。谁能帮我吗?
如果阵列具有3个维度,不应真的第一次出现是'阵列([[0] ,[0],[0]])'? “首次出现的数组”是什么意思? – wflynny
一个解决方案可能是'np.argmax',可能带有一个轴定义。 – M4rtini