天天看點

Python之np.where的使用

目的:在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]