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
Why Boolean Masking Matters
📖 Scenario: Imagine you have a list of temperatures recorded every day for a week. You want to find which days were hot, meaning the temperature was above 30 degrees. Instead of checking each day one by one, you can use a smart way called boolean masking to quickly find those hot days.
🎯 Goal: You will create a list of temperatures, set a threshold for hot days, use boolean masking to find which days are hot, and then print the hot days' temperatures.
📋 What You'll Learn
Create a numpy array called temperatures with values [22, 35, 27, 40, 30, 33, 25]
Create a variable called hot_threshold and set it to 30
Use boolean masking to create a variable called hot_days that contains temperatures above hot_threshold
Print the hot_days array
💡 Why This Matters
🌍 Real World
Boolean masking helps quickly filter data based on conditions, like finding hot days in weather data or selecting customers with high sales.
💼 Career
Data scientists use boolean masking to clean and analyze data efficiently, making it easier to find important patterns and insights.
Progress0 / 4 steps
1
Create the temperatures array
Create a numpy array called temperatures with these exact values: [22, 35, 27, 40, 30, 33, 25]
NumPy
Hint
Use np.array([...]) to create the array with the exact values.
2
Set the hot day threshold
Create a variable called hot_threshold and set it to 30
NumPy
Hint
Just assign the number 30 to the variable hot_threshold.
3
Apply boolean masking to find hot days
Use boolean masking to create a variable called hot_days that contains only the temperatures from temperatures that are greater than hot_threshold
NumPy
Hint
Use temperatures > hot_threshold inside the brackets to select only hot days.
4
Print the hot days temperatures
Print the variable hot_days to show the temperatures above the threshold
NumPy
Hint
Use print(hot_days) to display the result.
Practice
(1/5)
1. What is the main purpose of boolean masking in numpy?
easy
A. To sort an array in ascending order
B. To select elements from an array based on True/False conditions
C. To change the data type of an array
D. To create a new array filled with zeros
Solution
Step 1: Understand boolean masking concept
Boolean masking uses a True/False array to pick elements from another array.
Step 2: Identify the main use
This helps select only the elements where the mask is True, filtering data easily.
Final Answer:
To select elements from an array based on True/False conditions -> Option B
Quick Check:
Boolean mask = select elements [OK]
Hint: Boolean mask picks elements where condition is True [OK]
Common Mistakes:
Thinking it sorts the array
Confusing masking with data type change
Assuming it fills arrays with zeros
2. Which of the following is the correct syntax to create a boolean mask for array arr to select values greater than 5?
easy
A. mask = arr > 5
B. mask = arr = 5
C. mask = arr < 5
D. mask = arr == 5
Solution
Step 1: Understand comparison operators
To select values greater than 5, use the greater than operator: >.
Step 2: Check syntax correctness
mask = arr > 5 creates a boolean array where True means element > 5.
Final Answer:
mask = arr > 5 -> Option A
Quick Check:
Use > for greater than [OK]
Hint: Use > operator to create mask for values greater than number [OK]
Common Mistakes:
Using single equals (=) instead of comparison (>)
Using < instead of >
Using == which checks equality, not greater than
3. Given the code:
import numpy as np
arr = np.array([2, 7, 4, 9, 1])
mask = arr > 4
result = arr[mask]
What is the value of result?
medium
A. [2, 7, 9]
B. [2, 4, 1]
C. [7, 4, 9]
D. [7, 9]
Solution
Step 1: Create boolean mask for elements > 4
Elements greater than 4 are 7 and 9, so mask is [False, True, False, True, False].
Step 2: Apply mask to array
Using arr[mask] selects elements where mask is True: [7, 9].
B. The mask uses assignment (=) instead of comparison (>)
C. The array contains non-numeric values causing error
D. The mask array has different length than arr
Solution
Step 1: Check mask creation
The mask arr > 4 creates a boolean array of same length as arr without error.
Step 2: Check indexing with mask
Using arr[mask] selects elements > 4 without error.
Final Answer:
The mask is created correctly; no error occurs -> Option A
Quick Check:
Correct mask syntax means no error [OK]
Hint: Correct mask syntax means no error [OK]
Common Mistakes:
Confusing assignment (=) with comparison (>)
Assuming mask length mismatch error
Thinking non-numeric values cause error here
5. You have a numpy array data = np.array([10, 0, 5, -3, 8]). You want to select only positive numbers excluding zero using boolean masking. Which code correctly achieves this?
hard
A. mask = data >= 0
result = data[mask]
B. mask = data != 0
result = data[mask]
C. mask = data > 0
result = data[mask]
D. mask = data < 0
result = data[mask]
Solution
Step 1: Define condition for positive numbers excluding zero
Positive numbers are greater than zero, so condition is data > 0.
Step 2: Apply mask and select elements
Using data[data > 0] selects 10, 5, and 8, excluding zero and negatives.
Final Answer:
mask = data > 0
result = data[mask] -> Option C
Quick Check:
Use > 0 to exclude zero and negatives [OK]
Hint: Use > 0 to select positive numbers excluding zero [OK]