Bird
Raised Fist0
NumPydata~20 mins

Creating boolean arrays in NumPy - Practice Exercises

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Boolean Array Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of boolean array creation with comparison
What is the output of this code snippet that creates a boolean array by comparing elements of a numpy array to a value?
NumPy
import numpy as np
arr = np.array([3, 7, 1, 5])
result = arr > 4
print(result)
A[True False True False]
B[False True False True]
C[False False False False]
D[True True True True]
Attempts:
2 left
💡 Hint
Think about which numbers in the array are greater than 4.
❓ data_output
intermediate
2:00remaining
Count of True values in a boolean array
Given a boolean array created by comparing elements of a numpy array, how many True values does it contain?
NumPy
import numpy as np
arr = np.array([10, 15, 20, 5, 0])
bool_arr = arr <= 10
count_true = np.sum(bool_arr)
print(count_true)
A4
B2
C1
D3
Attempts:
2 left
💡 Hint
Count how many elements are less than or equal to 10.
🔧 Debug
advanced
2:00remaining
Identify the error in boolean array creation
What error does this code raise when trying to create a boolean array by comparing elements of a numpy array?
NumPy
import numpy as np
arr = np.array([1, 2, 3])
result = arr >
print(result)
ASyntaxError
BTypeError
CNameError
DIndexError
Attempts:
2 left
💡 Hint
Look carefully at the comparison operator usage.
🚀 Application
advanced
2:00remaining
Filter array elements using a boolean array
Which option correctly filters elements greater than 50 from the numpy array using a boolean array?
NumPy
import numpy as np
arr = np.array([10, 60, 30, 80, 50])
filtered = ???
print(filtered)
Aarr[arr < 50]
Barr[arr == 50]
Carr[arr > 50]
Darr[arr >= 50]
Attempts:
2 left
💡 Hint
You want only elements strictly greater than 50.
🧠 Conceptual
expert
2:00remaining
Understanding boolean array shape and dtype
Given a 2D numpy array, what is the shape and dtype of the boolean array created by comparing each element to zero?
NumPy
import numpy as np
arr = np.array([[1, -1], [0, 2]])
bool_arr = arr > 0
print(bool_arr.shape, bool_arr.dtype)
A(2, 2) bool
B(4,) int
C(2, 2) int
D(4,) bool
Attempts:
2 left
💡 Hint
The boolean array keeps the same shape as the original array.

Practice

(1/5)
1. What does a boolean array in numpy represent?
easy
A. An array of integers only
B. An array of True/False values based on a condition
C. An array of strings
D. An array with only zeros

Solution

  1. Step 1: Understand boolean arrays

    A boolean array stores True or False for each element, usually from a condition.
  2. Step 2: Identify the correct description

    The description 'An array of True/False values based on a condition' matches what a boolean array represents. Others refer to integers, strings, or zeros.
  3. Final Answer:

    An array of True/False values based on a condition -> Option B
  4. Quick Check:

    Boolean array = True/False values [OK]
Hint: Boolean arrays always hold True or False values [OK]
Common Mistakes:
  • Thinking boolean arrays hold numbers or strings
  • Confusing boolean arrays with integer arrays
2. Which of the following is the correct way to create a boolean array from a numpy array arr to check where elements are greater than 5?
easy
A. bool_arr = arr > 5
B. bool_arr = arr == 5
C. bool_arr = arr >= 5
D. bool_arr = arr < 5

Solution

  1. Step 1: Understand the condition for boolean array

    We want True where elements are greater than 5, so the condition is arr > 5.
  2. Step 2: Match the correct syntax

    bool_arr = arr > 5 uses arr > 5, which is correct. arr >= 5 checks greater than or equal to 5, arr == 5 checks equality to 5, and arr < 5 checks less than 5.
  3. Final Answer:

    bool_arr = arr > 5 -> Option A
  4. Quick Check:

    Condition for > 5 is arr > 5 [OK]
Hint: Use comparison operators directly on arrays for boolean arrays [OK]
Common Mistakes:
  • Using == instead of > for greater than
  • Confusing >= with >
  • Using wrong comparison operator
3. What is the output of the following code?
import numpy as np
arr = np.array([2, 7, 4, 9])
bool_arr = arr < 5
print(bool_arr)
medium
A. [True False True False]
B. [False True False True]
C. [True True True True]
D. [False False False False]

Solution

  1. Step 1: Evaluate the condition arr < 5 for each element

    Elements: 2 < 5 is True, 7 < 5 is False, 4 < 5 is True, 9 < 5 is False.
  2. Step 2: Form the boolean array

    The boolean array is [True, False, True, False].
  3. Final Answer:

    [True False True False] -> Option A
  4. Quick Check:

    Check each element < 5 = [True False True False] [OK]
Hint: Check each element against condition to form True/False array [OK]
Common Mistakes:
  • Mixing up True and False values
  • Forgetting to use < operator correctly
4. Identify the error in this code that tries to create a boolean array for elements equal to 10:
import numpy as np
arr = np.array([10, 5, 10, 3])
bool_arr = arr = 10
print(bool_arr)
medium
A. Array should be a list, not np.array
B. Missing import statement for numpy
C. Using '=' instead of '==' for comparison
D. print statement syntax error

Solution

  1. Step 1: Check the comparison operator

    The code uses arr = 10 which assigns 10 to arr, not compares.
  2. Step 2: Correct operator for comparison

    To compare elements to 10, use arr == 10 to create a boolean array.
  3. Final Answer:

    Using '=' instead of '==' for comparison -> Option C
  4. Quick Check:

    Comparison needs '==' not '=' [OK]
Hint: Use '==' for comparison, '=' is assignment [OK]
Common Mistakes:
  • Using single '=' instead of '=='
  • Confusing assignment with comparison
5. Given a numpy array data = np.array([3, 8, 1, 6, 0]), how can you create a boolean array that is True for elements greater than 2 and less than 7?
hard
A. bool_arr = (data > 2) && (data < 7)
B. bool_arr = data > 2 or data < 7
C. bool_arr = data > 2 and data < 7
D. bool_arr = (data > 2) & (data < 7)

Solution

  1. Step 1: Understand element-wise logical operations in numpy

    Use bitwise operators & and | for element-wise AND/OR, not 'and' or 'or'.
  2. Step 2: Apply correct syntax for combined condition

    bool_arr = (data > 2) & (data < 7) uses (data > 2) & (data < 7), which is correct for element-wise AND.
  3. Final Answer:

    bool_arr = (data > 2) & (data < 7) -> Option D
  4. Quick Check:

    Use & for element-wise AND in numpy [OK]
Hint: Use & for element-wise AND, not 'and' [OK]
Common Mistakes:
  • Using 'and' instead of '&' for element-wise AND
  • Using '&&' which is invalid in Python
  • Using 'or' instead of '&' for AND condition