Bird
Raised Fist0
NumPydata~10 mins

Comparison operations in NumPy - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Comparison operations
Create numpy arrays
↓
Apply comparison operator element-wise
↓
Get boolean array result
↓
Use boolean array for filtering or logic
Comparison operations in numpy compare arrays element-wise and return a boolean array showing True or False for each comparison.
Execution Sample
NumPy
import numpy as np
arr = np.array([1, 3, 5, 7])
result = arr > 4
print(result)
This code compares each element of the array to 4 and returns a boolean array showing which elements are greater than 4.
Execution Table
StepArray ElementComparisonResult (True/False)
111 > 4False
233 > 4False
355 > 4True
477 > 4True
5All elements comparedComparison completeBoolean array returned
💡 All elements compared, resulting boolean array shows which elements are greater than 4.
Variable Tracker
VariableStartAfter ComparisonFinal
arr[1, 3, 5, 7][1, 3, 5, 7][1, 3, 5, 7]
resultundefined[False, False, True, True][False, False, True, True]
Key Moments - 2 Insights
Why does the comparison return an array of True/False instead of a single True/False?
Because numpy compares each element individually, the result is an array of booleans showing the comparison result for each element, as shown in execution_table rows 1-4.
Can I use comparison results directly to filter the original array?
Yes, the boolean array can be used to select elements from the original array where the condition is True, leveraging numpy's boolean indexing.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the comparison result for the element 3 at step 2?
AFalse
BTrue
CError
DNone
💡 Hint
Check the 'Result (True/False)' column for step 2 in the execution_table.
At which step does the comparison first return True?
AStep 1
BStep 2
CStep 3
DStep 4
💡 Hint
Look at the 'Result (True/False)' column in execution_table rows 1-4.
If the comparison was changed to arr < 4, what would be the result at step 4?
ATrue
BFalse
CError
DUndefined
💡 Hint
Consider the value 7 at step 4 and if 7 < 4 is True or False.
Concept Snapshot
Comparison operations in numpy:
- Compare arrays element-wise
- Return boolean array of True/False
- Use operators like >, <, ==, !=
- Boolean arrays can filter or control logic
- Fast and vectorized for large data
Full Transcript
In numpy, comparison operations check each element of an array against a value or another array. The result is a new array of True or False values, one for each element. For example, comparing if elements are greater than 4 returns True for elements larger than 4 and False otherwise. This boolean array can be used to select or filter elements easily. The execution table shows each element compared step-by-step, and the variable tracker shows how the result array is created. Beginners often wonder why the result is an array of booleans, not a single value. This is because numpy works element-wise. Also, these boolean arrays are very useful for filtering data.

Practice

(1/5)
1. What does the numpy expression arr == 5 return when arr is a numpy array?
easy
A. The sum of all elements equal to 5
B. An array of True/False values showing where elements equal 5
C. The count of elements equal to 5
D. A single True or False value

Solution

  1. Step 1: Understand element-wise comparison

    The expression arr == 5 compares each element of the array to 5 individually.
  2. Step 2: Result type of comparison

    This returns a new array of the same shape with True where the element equals 5, and False otherwise.
  3. Final Answer:

    An array of True/False values showing where elements equal 5 -> Option B
  4. Quick Check:

    Element-wise comparison = Boolean array [OK]
Hint: Remember == returns True/False array element-wise [OK]
Common Mistakes:
  • Thinking it returns a count or sum
  • Expecting a single True/False value
  • Confusing == with assignment =
2. Which of the following is the correct syntax to check if elements in numpy array arr are greater than 10?
easy
A. arr >> 10
B. arr => 10
C. arr > 10
D. arr >= 10

Solution

  1. Step 1: Identify correct comparison operator

    The operator for 'greater than' is >, so arr > 10 checks elements greater than 10.
  2. Step 2: Check other options

    arr => 10 is invalid syntax, arr >> 10 is a bitwise shift, and arr >= 10 checks greater or equal, not strictly greater.
  3. Final Answer:

    arr > 10 -> Option C
  4. Quick Check:

    Greater than operator is > [OK]
Hint: Use > for greater than, >= for greater or equal [OK]
Common Mistakes:
  • Using => instead of >
  • Confusing bitwise >> with comparison
  • Using >= when > is asked
3. What is the output of the following code?
import numpy as np
arr = np.array([3, 7, 2, 9])
result = arr >= 5
print(result)
medium
A. [False False False False]
B. [True False True False]
C. [True True True True]
D. [False True False True]

Solution

  1. Step 1: Compare each element with 5

    Elements: 3, 7, 2, 9. Check if each is >= 5: 3>=5 is False, 7>=5 is True, 2>=5 is False, 9>=5 is True.
  2. Step 2: Form boolean array

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

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

    Element-wise >= 5 = [False True False True] [OK]
Hint: Check each element against 5 carefully [OK]
Common Mistakes:
  • Mixing up >= with >
  • Misreading element values
  • Expecting integer output instead of boolean
4. Identify the error in this numpy comparison code:
import numpy as np
arr = np.array([1, 2, 3])
result = arr = 2
print(result)
medium
A. Using single = instead of == for comparison
B. Array must be converted to list before comparison
C. print() cannot display numpy arrays
D. Missing parentheses in print statement

Solution

  1. Step 1: Check comparison syntax

    The code uses arr = 2 which assigns 2 to arr, not compares. Comparison needs ==.
  2. Step 2: Understand effect of assignment

    Assignment overwrites arr with 2, so print(result) prints 2, not a boolean array.
  3. Final Answer:

    Using single = instead of == for comparison -> Option A
  4. Quick Check:

    Comparison needs ==, not = [OK]
Hint: Use == for comparison, = is assignment [OK]
Common Mistakes:
  • Confusing = and ==
  • Thinking print can't show arrays
  • Believing arrays must convert to lists
5. Given two numpy arrays:
import numpy as np
arr1 = np.array([1, 4, 6, 8])
arr2 = np.array([2, 4, 5, 10])

Which expression returns a boolean array showing where elements in arr1 are less than or equal to elements in arr2?
hard
A. arr1 <= arr2
B. arr1 < arr2
C. arr1 == arr2
D. arr1 >= arr2

Solution

  1. Step 1: Understand element-wise comparison between arrays

    Comparing two arrays with operators like <= compares each element pair at the same index.
  2. Step 2: Identify operator for 'less than or equal'

    The operator <= checks if elements in arr1 are less than or equal to corresponding elements in arr2.
  3. Final Answer:

    arr1 <= arr2 -> Option A
  4. Quick Check:

    Use <= for less or equal element-wise [OK]
Hint: Use <= to compare arrays element-wise for less or equal [OK]
Common Mistakes:
  • Using < instead of <= when equal counts
  • Using == which only checks equality
  • Using >= which is opposite
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