Open In App

Boolean Array in NumPy – Python

Last Updated : 29 Apr, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

The goal here is to work with Boolean arrays in NumPy, which contain only True or False values. Boolean arrays are commonly used for conditional operations, masking and filtering elements based on specific criteria. For example, given a NumPy array [1, 0, 1, 0, 1], we can create a Boolean array where 1 becomes True and 0 becomes False. Let’s explore different efficient methods to achieve this.

Using astype()

astype() method is an efficient way to convert an array to a specific data type. When converting an integer array to a Boolean array, astype(bool) converts all non-zero values to True and zeros to False. This method is preferred for its directness and speed.

Python
import numpy as np
a = np.array([1, 0, 1, 0, 0, 1, 0])

b = a.astype(bool)
print(b)

Output
[ True False  True False False  True False]

Explanation: astype(bool) method converts non-zero values to True and zeros to False. So, the array [1, 0, 1, 0, 0, 1, 0] becomes [True, False, True, False, False, True, False].

Using dtype=’bool’

When creating a NumPy array, you can specify the dtype=’bool’ argument to directly convert the data type to Boolean. This method is efficient because it processes the conversion during the array creation step, providing a clean and fast approach to generating a Boolean array from integers.

Python
import numpy as np
a = np.array([1, 0, 1, 0, 0, 1, 0])

b = np.array(a, dtype=bool)
print(b)

Output
[ True False  True False False  True False]

Explanation: dtype=bool argument convert the array a into Boolean values. It treats non-zero values as True and zeros as False.

Using np.where()

np.where() function in NumPy is a versatile tool for conditional operations. It checks each element against a condition (e.g., arr == 1) and returns True or False. While less efficient than direct type conversion, it allows for custom conditions and complex logic.

Python
import numpy as np
a = np.array([1, 0, 1, 0, 0, 1, 0])

b = np.where(a == 1, True, False)
print(b)

Output
[ True False  True False False  True False]

Explanation: np.where() function checks each element of the array a against the condition a == 1. If the condition is true (i.e., the element is 1), it returns True otherwise, it returns False.

Using a comparison with == 1

Using == 1 creates a Boolean array by checking if elements are equal to 1, returning True for 1 and False otherwise. While simple and efficient, it’s slightly less efficient than astype() or dtype=’bool’ due to the explicit element check.

Python
import numpy as np
a = np.array([1, 0, 1, 0, 0, 1, 0])

b = a == 1
print(b)

Output
[ True False  True False False  True False]

Explanation: a == 1 checks each element of the array a to see if it is equal to 1. It returns a Boolean array where True corresponds to elements that are 1 and False for all other values.




Practice Tags :

Similar Reads