Bird
Raised Fist0
NumPydata~15 mins

Boolean indexing in NumPy - Mini Project: Build & Apply

Choose your learning style10 modes available
Boolean Indexing with NumPy Arrays
📖 Scenario: You are working with a list of daily temperatures recorded over a week. You want to find which days were warmer than a certain temperature to plan outdoor activities.
🎯 Goal: Build a program that uses NumPy boolean indexing to select temperatures above a threshold.
📋 What You'll Learn
Create a NumPy array with exact temperature values
Create a threshold variable for temperature
Use boolean indexing to select temperatures above the threshold
Print the selected temperatures
💡 Why This Matters
🌍 Real World
Filtering data based on conditions is common in weather analysis, finance, and health monitoring to focus on important values.
💼 Career
Data scientists often use boolean indexing to quickly select relevant data points for analysis and visualization.
Progress0 / 4 steps
1
Create the temperature data array
Import NumPy as np and create a NumPy array called temps with these exact values: 22, 19, 25, 20, 18, 24, 21.
NumPy
Hint

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

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

Just assign the number 20 to a variable named threshold.

3
Select temperatures above the threshold using boolean indexing
Create a variable called warm_days that uses boolean indexing on temps to select only the temperatures greater than threshold.
NumPy
Hint

Use temps > threshold inside the brackets to filter the array.

4
Print the warm temperatures
Print the variable warm_days to display the temperatures above the threshold.
NumPy
Hint

Use print(warm_days) to show the filtered temperatures.

Practice

(1/5)
1. What does boolean indexing in numpy allow you to do?
easy
A. Create a new array filled with zeros
B. Change the data type of an array
C. Sort the array elements in ascending order
D. Select elements from an array using a True/False mask

Solution

  1. Step 1: Understand boolean indexing concept

    Boolean indexing uses a True/False array to pick elements from another array.
  2. Step 2: Identify the correct operation

    Only Select elements from an array using a True/False mask describes selecting elements based on True/False values.
  3. Final Answer:

    Select elements from an array using a True/False mask -> Option D
  4. Quick Check:

    Boolean indexing = Select elements [OK]
Hint: Boolean mask picks elements where True appears [OK]
Common Mistakes:
  • Confusing boolean indexing with sorting
  • Thinking it changes data types
  • Assuming it creates new arrays with zeros
2. Which of the following is the correct syntax to select elements greater than 5 from a numpy array arr using boolean indexing?
easy
A. arr[arr < 5]
B. arr > 5[arr]
C. arr[arr > 5]
D. arr.select(arr > 5)

Solution

  1. Step 1: Understand boolean indexing syntax

    The correct syntax is to use the array with a boolean mask inside square brackets: arr[condition].
  2. Step 2: Check each option

    arr[arr > 5] uses arr[arr > 5], which is correct. Others have wrong order or invalid methods.
  3. Final Answer:

    arr[arr > 5] -> Option C
  4. Quick Check:

    Correct syntax = arr[condition] [OK]
Hint: Put condition inside brackets after array name [OK]
Common Mistakes:
  • Placing condition before array name
  • Using invalid methods like select()
  • Using wrong comparison operators
3. What is the output of the following code?
import numpy as np
arr = np.array([2, 7, 4, 9, 1])
result = arr[arr % 2 == 1]
medium
A. [7 9 1]
B. [2 4]
C. [7 4 9]
D. [2 7 4 9 1]

Solution

  1. Step 1: Understand the condition arr % 2 == 1

    This condition selects elements where the remainder when divided by 2 is 1, i.e., odd numbers.
  2. Step 2: Apply condition to array elements

    Elements 7, 9, and 1 are odd, so they are selected.
  3. Final Answer:

    [7 9 1] -> Option A
  4. Quick Check:

    Odd elements = [7 9 1] [OK]
Hint: Filter with modulo to get odd numbers [OK]
Common Mistakes:
  • Selecting even numbers instead
  • Confusing modulo operator
  • Returning full array instead of filtered
4. The following code has a problem. What is the problem?
import numpy as np
arr = np.array([1, 2, 3, 4])
mask = arr > 2
print(arr[mask == True])
medium
A. mask == True is unnecessary and redundant
B. arr should be converted to list first
C. Comparison operator > is invalid for numpy arrays
D. Square brackets cannot be used for indexing

Solution

  1. Step 1: Analyze the boolean mask creation

    mask = arr > 2 creates a boolean array correctly.
  2. Step 2: Check the indexing expression

    Using mask == True is redundant since mask is already boolean. It's unnecessary and bad practice.
  3. Step 3: Correct usage

    Use arr[mask] directly without comparing mask to True.
  4. Final Answer:

    mask == True is unnecessary and redundant -> Option A
  5. Quick Check:

    Use boolean mask directly [OK]
Hint: Use mask directly, no need for '== True' [OK]
Common Mistakes:
  • Adding '== True' to boolean mask
  • Trying to convert numpy array to list for indexing
  • Misunderstanding comparison operators
5. Given a numpy array data = np.array([10, 15, 20, 25, 30]), how can you select elements greater than 12 and less than 28 using boolean indexing?
hard
A. data[data > 12 and data < 28]
B. data[(data > 12) & (data < 28)]
C. data[data > 12 | data < 28]
D. data[(data > 12) or (data < 28)]

Solution

  1. Step 1: Understand combining conditions with & and parentheses

    In numpy, use & for element-wise AND and wrap each condition in parentheses.
  2. Step 2: Check each option

    data[(data > 12) & (data < 28)] correctly uses & (element-wise AND) with parentheses around each condition. Using Python keywords and/or cause errors because they don't work element-wise on arrays. Using | (bitwise OR) selects elements greater than 12 or less than 28, which is wrong here.
  3. Final Answer:

    data[(data > 12) & (data < 28)] -> Option B
  4. Quick Check:

    Use & with parentheses for AND conditions [OK]
Hint: Use & with parentheses for multiple conditions [OK]
Common Mistakes:
  • Using 'and' or 'or' instead of & or |
  • Not using parentheses around conditions
  • Using | (OR) instead of & (AND) for filtering
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard