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