numpy.where () in Python



The numpy.where (condition [, x, y]) function returns the indices of the elements in the input array where the given condition is met.

Parameters:
condition: When True, yield x, otherwise yield y.
x, y: Values ​​from which to choose. x, y and condition need to be broadcastable to some shape.

Returns:
out: [ndarray or tuple of ndarrays] If both x and y are specified, the output array contains elements of x where condition is True, and elements from y elsewhere.

If only condition is given, return the tuple condition.nonzero (), the indices where condition is True.

Code # 1:

# Python program explaining
# where () function

 

import numpy as np

 

np.where ([[ True , False ], [  True , True ]],

[[[ 1 , 2 ], [ 3 , 4 ]], [[ 5 , 6 ], [ 7 , 8 ] ])

Output:

 array ([[1, 6], [3, 4]]) 

Code # 2:

# Python program explaining
# where () function

  

import numpy as np

 
# a is an array of integers.

a = np.array ([[ 1 , 2 , 3 ], [ 4 , 5 , 6 ]])

 

print (a)

 

print ( `Indices of elements & lt; 4` )

 

b = np.where (a & lt; 4 )

print (b)

 

print ( "Elements which are & lt; 4" )

print (a [b])

Output:

 [[1 2 3] [4 5 6]] Indices of elements & lt; 4 (array ([0 , 0, 0], dtype = int64), array ([0, 1, 2], dtype = int64)) Elements which are & lt; 4 array ([1, 2, 3])