目的:在numpy數組中查找到符合條件元素的索引
函數: np.argwhere、np.where
import numpy as np
data = np.arange(15).reshape(5, 3)
print(data)
#[[ 0 1 2]
#[ 3 4 5]
#[ 6 7 8]
#[ 9 10 11]
#[12 13 14]]
print(np.where(data>2))
#(array([1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4]), array([0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2]))
print(np.argwhere(data>2))
#[[1 0] [1 1] [1 2] [2 0] [2 1] [2 2] [3 0] [3 1] [3 2] [4 0] [4 1] [4 2]]
補充:np.where+np.min經常一起出現
#找出滿足條件的所有數中,左上角那個數值的索引
tl = np.min(np.where(data > 4), axis = 1)
print(tl) #[1 0]
#找出滿足條件的所有數中,右下角那個數值的索引
br = np.max(np.where(data > 4), axis = 1)
print(br) #[4 2]