Bird
Raised Fist0
NumPydata~15 mins

Creating boolean arrays in NumPy - Try It Yourself

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
Creating boolean arrays
📖 Scenario: Imagine you have a list of temperatures recorded every day for a week. You want to find out which days were warmer than 20 degrees Celsius.
🎯 Goal: You will create a boolean array that shows True for days warmer than 20 degrees and False otherwise.
📋 What You'll Learn
Use numpy to create arrays
Create a numpy array with exact temperature values
Create a boolean array using a condition
Print the boolean array as output
💡 Why This Matters
🌍 Real World
This technique helps in filtering data based on conditions, like finding days warmer than a certain temperature.
💼 Career
Data scientists often create boolean arrays to filter and analyze data quickly and efficiently.
Progress0 / 4 steps
1
Create the temperature array
Create a numpy array called temperatures with these exact values: [18, 22, 19, 24, 20, 21, 17].
NumPy
Hint

Use np.array([...]) to create the array with the exact numbers.

2
Set the temperature threshold
Create a variable called threshold and set it to 20.
NumPy
Hint

Just assign the number 20 to a variable named threshold.

3
Create the boolean array
Create a boolean numpy array called warm_days that is True where temperatures are greater than threshold, and False otherwise.
NumPy
Hint

Use the comparison operator > between the array and the threshold variable.

4
Print the boolean array
Print the warm_days array to see which days were warmer than 20 degrees.
NumPy
Hint

Use print(warm_days) to display the boolean 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