In this article we will discuss different ways to create a boolean Numpy array. We will start by creating Numpy arrays with random boolean values. Then we will see ways to create a Numpy array with all True or all False.
Create boolean Numpy array with random boolean values
To create a boolean numpy array with random values we will use a function random.choice() from python’s numpy module,
numpy.random.choice(a, size=None, replace=True, p=None)
Arguments:
 a: A Numpy array from which random sample will be generated
 size : Shape of the array to be generated
 replace : Whether the sample is with or without replacement
It generates a random sample from a given 1D array.
Let’s use this function to create a boolean numpy array of size 10 with random bool values,
# Array for random sampling sample_arr = [True, False] # Create a numpy array with random True or False of size 10 bool_arr = np.random.choice(sample_arr, size=10) print('Numpy Array: ') print(bool_arr)
Output:
Numpy Array: [ True True True False False True False False False True]
How did it work?
First we create a bool array with only 2 values i.e. True & false,
# Array for random sampling sample_arr = [True, False]
Then we passed this array to numpy.random.choice() along with argument size=10,
# Create a numpy array with random True or False of size 10 bool_arr = np.random.choice(sample_arr, size=10)
This function generates a 10 random elements based on the values in sample_arr i.e. either True or False,
[ True True True False False True False False False True]
So this is how we generated a random boolean Numpy array.
Creating 2D boolean Numpy array with random values
To create a 2D boolean Numpy array with random True or false values, we can use the same function by passing the size of 2D array as a tuple,
# Array for random sampling sample_arr = [True, False] # Create a 2D numpy array or matrix of 3 rows & 4 columns with random True or False values bool_arr = np.random.choice(sample_arr, size=(3,4)) print('2D Numpy Array: ') print(bool_arr)
Output:
2D Numpy Array: [[ True True True True] [ True True True False] [ True True True True]]
Create a Bool array with all True
To Create a boolean numpy array with all True values, we can use numpy.ones() with dtype argument as bool,
# Create a Numpy array of 10 True values bool_arr = np.ones(10, dtype=bool) print('Numpy Array: ') print(bool_arr)
Output:
Numpy Array: [ True True True True True True True True True True]
numpy.ones() creates a numpy array of given size and initializes all values with 1. But if dtype argument is passed as bool then it converts all 1 to bool i.e. True.
Create a Bool array with all False
To Create a boolean numpy array with all False values, we can use numpy.zeros() with dtype argument as bool,
# Create a Numpy array of 10 False values bool_arr = np.zeros(10, dtype=bool) print('Numpy Array: ') print(bool_arr)
Output:
Numpy Array: [False False False False False False False False False False]
numpy.zeros() creates a numpy array of given size and initializes all values with 0. But if dtype argument is passed as bool then it converts all 0 to bool i.e. False.
So, this is how we can generate a numpy array of 10 False values.Â If we want 2D Numpy Array with all True or False values then we can pass a tuple as shape argument along with dtype as bool,
Creating 2D Numpy array with all True,
# Create a 2D Numpy array of 3 rows & 4 columns with all True values bool_arr = np.ones((3,4), dtype=bool) print('2D Numpy Array: ') print(bool_arr)
Output:
2D Numpy Array: [[ True True True True] [ True True True True] [ True True True True]]
We used numpy.ones() to generate a numpy array of given shape (3,4) i.e. 3 rows and 4 columns. As ones() generates all 1s, but we passed the dtype as bool, due to which all these 1s got implicitly converted to True
Creating 2D Numpy array with all False,
# Create a 2D Numpy array of 3 rows & 4 columns with all False values bool_arr = np.zeros((3,4), dtype=bool) print('2D Numpy Array: ') print(bool_arr)
Output:
2D Numpy Array: [[False False False False] [False False False False] [False False False False]]
We used numpy.zeros() to generate a numpy array of given shape (3,4) i.e. 3 rows and 4 columns. As zeros() generates all 0ï¿½s, but we passed the dtype as bool, due to which all these 0s got implicitly converted to False.
Converting a List to bool Numpy array
Convert a list of integers to boolean numpy array
# List of integers list_of_elems = [1, 2, 3, 0, 9, 0, 8, 0] # Convert a list of integers to bool array bool_arr = np.array(list_of_elems, dtype=bool) print('Numpy Array: ') print(bool_arr)
Output:
[ True True True False True False True False]
As we passed the dtype argument as bool in the numpy.array() function, therefore all integers in the list were converted into True or False implicitly. Integers other than 0 were converted to True and all 0s were converted to False.
Convert a heterogeneous list to boolean numpy array
Lists are heterogeneous in python. It means it can contain elements of different data types. But Numpy Arrays in python are homogeneous, it means they can contain elements of the same data type. So, to convert a heterogeneous list to boolean numpy array, we will pass dtype argument as bool in the numpy.array() function,
# heterogeneous List ( contains different type of elements) list_of_elems = [8, 0, 'Hi', '', 0.4] # Convert a heterogeneous list to bool numpy array bool_arr = np.array(list_of_elems, dtype=bool) print(bool_arr)
Output:
[ True False True False True]
As we passed the dtype argument as bool in the numpy.array() function, therefore all integers or strings or other types of elements in the list were converted into True or False implicitly.
Integers other than 0 were converted to True and all 0s were converted to False.
All empty strings were converted to False and other strings were converted to True.
The complete example is as follows,
import numpy as np def main(): print('*** Create a Boolean Numpy Array with random boolean values ***') print('Create a 1D Numpy boolean array of size 10 with random value') # Array for random sampling sample_arr = [True, False] # Create a numpy array with random True or False of size 10 bool_arr = np.random.choice(sample_arr, size=10) print('Numpy Array: ') print(bool_arr) print('Create a 2D Numpy boolean array (3 rows & 4 columns) of random bool values') # Array for random sampling sample_arr = [True, False] # Create a 2D numpy array or matrix of 3 rows & 4 columns with random True or False values bool_arr = np.random.choice(sample_arr, size=(3,4)) print('2D Numpy Array: ') print(bool_arr) print('**** Create a Bool array with all True ****') # Create a Numpy array of 10 True values bool_arr = np.ones(10, dtype=bool) print('Numpy Array: ') print(bool_arr) print('*** Create a Bool array with all False ***') # Create a Numpy array of 10 False values bool_arr = np.zeros(10, dtype=bool) print('Numpy Array: ') print(bool_arr) print('*** Creating 2D Numpy array with all True ***') # Create a 2D Numpy array of 3 rows & 4 columns with all True values bool_arr = np.ones((3,4), dtype=bool) print('2D Numpy Array: ') print(bool_arr) print('*** Creating 2D Numpy array with all False ***') # Create a 2D Numpy array of 3 rows & 4 columns with all False values bool_arr = np.zeros((3,4), dtype=bool) print('2D Numpy Array: ') print(bool_arr) print('**** Converting a List to bool Numpy array ****') # List of integers list_of_elems = [1, 2, 3, 0, 9, 0, 8, 0] # Convert a list of integers to bool array bool_arr = np.array(list_of_elems, dtype=bool) print('Numpy Array: ') print(bool_arr) # heterogeneous List ( contains different type of elements) list_of_elems = [8, 0, 'Hi', '', 0.4] # Convert a heterogeneous list to bool numpy array bool_arr = np.array(list_of_elems, dtype=bool) print(bool_arr) if __name__ == '__main__': main()
Output:
*** Create a Boolean Numpy Array with random boolean values *** Create a 1D Numpy boolean array of size 10 with random value Numpy Array: [False True True False True False True False True True] Create a 2D Numpy boolean array (3 rows & 4 columns) of random bool values 2D Numpy Array: [[ True True True True] [ True True False True] [False True False True]] **** Create a Bool array with all True **** Numpy Array: [ True True True True True True True True True True] *** Create a Bool array with all False *** Numpy Array: [False False False False False False False False False False] *** Creating 2D Numpy array with all True *** 2D Numpy Array: [[ True True True True] [ True True True True] [ True True True True]] *** Creating 2D Numpy array with all False *** 2D Numpy Array: [[False False False False] [False False False False] [False False False False]] **** Converting a List to bool Numpy array **** Numpy Array: [ True True True False True False True False] [ True False True False True]
Pandas Tutorials Learn Data Analysis with Python

Pandas Tutorial Part #1  Introduction to Data Analysis with Python

Pandas Tutorial Part #2  Basics of Pandas Series

Pandas Tutorial Part #3  Get & Set Series values

Pandas Tutorial Part #4  Attributes & methods of Pandas Series

Pandas Tutorial Part #5  Add or Remove Pandas Series elements

Pandas Tutorial Part #6  Introduction to DataFrame

Pandas Tutorial Part #7  DataFrame.loc[]  Select Rows / Columns by Indexing

Pandas Tutorial Part #8  DataFrame.iloc[]  Select Rows / Columns by Label Names

Pandas Tutorial Part #9  Filter DataFrame Rows

Pandas Tutorial Part #10  Add/Remove DataFrame Rows & Columns

Pandas Tutorial Part #11  DataFrame attributes & methods

Pandas Tutorial Part #12  Handling Missing Data or NaN values

Pandas Tutorial Part #13  Iterate over Rows & Columns of DataFrame

Pandas Tutorial Part #14  Sorting DataFrame by Rows or Columns

Pandas Tutorial Part #15  Merging or Concatenating DataFrames

Pandas Tutorial Part #16  DataFrame GroupBy explained with examples
Are you looking to make a career in Data Science with Python?
Data Science is the future, and the future is here now. Data Scientists are now the most soughtafter professionals today. To become a good Data Scientist or to make a career switch in Data Science one must possess the right skill set. We have curated a list of Best Professional Certificate in Data Science with Python. These courses will teach you the programming tools for Data Science like Pandas, NumPy, Matplotlib, Seaborn and how to use these libraries to implement Machine learning models.
Checkout the Detailed Review of Best Professional Certificate in Data Science with Python.
Remember, Data Science requires a lot of patience, persistence, and practice. So, start learning today.