numpy.where() in Python

The NumPy module provides a function numpy.where() for selecting elements based on a condition. It returns elements chosen from a or b depending on the condition.

For example, if all arguments -> condition, a & b are passed in numpy.where() then it will return elements selected from a & b depending on values in bool array yielded by the condition.

If only the condition is provided, this function is a shorthand to the function np.asarray (condition).nonzero(). Although nonzero should be preferred directly, as it behaves correctly for subclasses.

Syntax:

Parameters:

These are the following parameters in numpy.where() function:

condition: array_like, bool

If this parameter set to True, yield x otherwise yield y.

x, y: array_like:

This parameter defines the values from which to choose. The x, y, and condition need to be broadcastable to some shape.

Returns:

This function returns the array with elements from x where the condition is True and elements from y elsewhere.

Example 1: np.where()

In the above code

  • We have imported numpy with alias name np.
  • We have created an array 'a' using np.arange() function.
  • We have declared the variable 'b' and assigned the returned value of np.where() function.
  • We have passed the array 'a' in the function.
  • Lastly, we tried to print the value of b.

In the output, the values ranging from 0 to 5 remain the same as per the condition, and the other values have been multiplied with 5.

Output:

array([ 0,  1,  2,  3,  4,  5, 30, 35, 40, 45, 50, 55])

Example 2: For multidimensional array

Output:

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

Example 3: Broadcasting x, y, and condition

Output:

array([[10, 11, 12, 13],
       	[ 1, 11, 12, 13],
       	[ 2,  2, 12, 13]])

In the above code

  • We have imported numpy with alias name np.
  • We have created an array 'a' using np.arange() function.
  • We declared the variable 'b' and assigned the returned value of np.where() function.
  • We have passed a multidimensional array of boolean as a condition and x and y as an integer arrays.
  • Lastly, we tried to print the value of b.

In the output, the x value has been compared to y value if it satisfied the condition, then it will be printed x value otherwise, it will print y value, which has passed as an argument in the where() function.

Example 4: Broadcasting specific value

Output:

array([[ 0,  1,  2],
       [ 0,  2, -2],
       [ 0, -2, -2]])

Next Topicnumpy.argsort()




Latest Courses