Numpy where function with two conditions

Numpy where function with two conditions

Numpy is a powerful library in Python used for numerical computations. One of the useful functions provided by Numpy is the where function, which allows you to perform element-wise conditional operations on arrays. In this article, we will focus on how to use the where function with two conditions.

When using the where function with two conditions, both conditions must be boolean arrays of the same shape as the input array. The where function will return elements from one of two input arrays based on the conditions provided.

Syntax of numpy.where()

numpy.where(condition1 & condition2, x, y)

Where:
condition1 and condition2 are boolean arrays
x is the value to be returned when the condition is True
y is the value to be returned when the condition is False

Now, let’s dive into some examples to understand how to use the Numpy where function with two conditions:

Example 1

import numpy as np

arr = np.array([2, 5, 8, 10])
condition1 = (arr > 5)
condition2 = (arr < 10)

result = np.where(condition1 & condition2, arr, 0)
print(result)

Output:

Numpy where function with two conditions

Example 2

import numpy as np

arr = np.array([[1, 3, 5], [7, 9, 11]])
condition1 = (arr % 2 == 0)
condition2 = (arr % 3 == 0)

result = np.where(condition1 & condition2, arr, -1)
print(result)

Output:

Numpy where function with two conditions

Example 3

import numpy as np

arr = np.array([[-1, 3, -5], [7, -9, 11]])
condition1 = (arr < 0)
condition2 = (arr % 2 != 0)

result = np.where(condition1 & condition2, arr, 100)
print(result)

Output:

Numpy where function with two conditions

Example 4

import numpy as np

arr = np.array([[-1, 3, -5], [7, -9, 11]])
condition1 = (arr < 0)
condition2 = (arr > -10)

result = np.where(condition1 & condition2, arr, -arr)
print(result)

Output:

Numpy where function with two conditions

Example 5

import numpy as np

arr = np.array([[1, 3, 5], [7, 9, 11]])
condition1 = (arr % 2 == 0)
condition2 = (arr < 6)

result = np.where(condition1 & condition2, arr, arr * 2)
print(result)

Output:

Numpy where function with two conditions

Example 6

import numpy as np

arr = np.array([[-1, 3, -5], [7, -9, 11]])
condition1 = (arr < 0)
condition2 = (arr > -5)

result = np.where(condition1 & condition2, arr * 5, arr + 10)
print(result)

Output:

Numpy where function with two conditions

Example 7

import numpy as np

arr = np.array([[1, 3, 5], [7, 9, 11]])
condition1 = (arr % 3 == 0)
condition2 = (arr > 5)

result = np.where(condition1 & condition2, arr ** 2, arr)
print(result)

Output:

Numpy where function with two conditions

Example 8

import numpy as np

arr = np.array([[1, 3, 5], [7, 9, 11]])
condition1 = (arr % 2 == 0)
condition2 = (arr < 5)

result = np.where(condition1 & condition2, arr * 3, arr + 2)
print(result)

Output:

Numpy where function with two conditions

Example 9

import numpy as np

arr = np.array([[1, 3, 5], [7, 9, 11]])
condition1 = (arr % 2 != 0)
condition2 = (arr < 10)

result = np.where(condition1 & condition2, arr, arr // 2)
print(result)

Output:

Numpy where function with two conditions

Example 10

import numpy as np

arr = np.array([[1, 3, 5], [7, 9, 11]])
condition1 = (arr % 3 == 0)
condition2 = (arr > 5)

result = np.where(condition1 & condition2, arr, arr + arr)
print(result)

Output:

Numpy where function with two conditions

Conclusion of numpy.where()

These examples demonstrate how the Numpy where function can be used with two conditions to perform element-wise operations on arrays. By applying multiple conditions, you can customize the output based on your specific requirements.

Like(0)