Bird
Raised Fist0
NumPydata~5 mins

Combining conditions in NumPy - Cheat Sheet & Quick Revision

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
Recall & Review
beginner
What does combining conditions mean in numpy?
It means using multiple conditions together to filter or select data, like checking if values meet several rules at once.
Click to reveal answer
beginner
How do you combine conditions with AND in numpy?
Use the & operator between conditions, and put each condition in parentheses. For example: (arr > 5) & (arr < 10).
Click to reveal answer
beginner
How do you combine conditions with OR in numpy?
Use the | operator between conditions, with each condition in parentheses. For example: (arr < 3) | (arr > 7).
Click to reveal answer
intermediate
Why must conditions be in parentheses when combining in numpy?
Because & and | have lower precedence than comparison operators, parentheses make sure each condition is evaluated first before combining.
Click to reveal answer
intermediate
What happens if you forget to use parentheses when combining conditions in numpy?
You get an error or wrong results because numpy tries to combine the whole expression incorrectly.
Click to reveal answer
Which operator is used for AND when combining conditions in numpy?
Aand
B&&
C&
D|
How should you write a condition to select values greater than 10 and less than 20 in numpy?
Aarr > 10 and arr < 20
Barr > 10 & arr < 20
Carr > (10 & arr) < 20
D(arr > 10) & (arr < 20)
What does the | operator do when combining conditions in numpy?
AOR
BXOR
CNOT
DAND
What error might you get if you forget parentheses in combined numpy conditions?
AValueError
BTypeError
CSyntaxError
DNo error, works fine
Which is the correct way to select values less than 5 or greater than 15 in numpy?
Aarr < (5 | arr) > 15
B(arr < 5) | (arr > 15)
Carr < 5 | arr > 15
D(arr < 5) & (arr > 15)
Explain how to combine multiple conditions in numpy to filter an array.
Think about how to join conditions like 'greater than' and 'less than' checks.
You got /4 concepts.
    What are common mistakes when combining conditions in numpy and how to avoid them?
    Focus on operator precedence and syntax rules.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which of the following is the correct way to combine two conditions a > 5 and b < 10 in NumPy to select elements where both are true?
      easy
      A. Use (a > 5) & (b < 10)
      B. Use a > 5 & b < 10 without parentheses
      C. Use (a > 5) | (b < 10)
      D. Use a > 5 or b < 10

      Solution

      1. Step 1: Understand combining conditions in NumPy

        NumPy requires each condition to be in parentheses when using & (AND) or | (OR) operators.
      2. Step 2: Identify correct syntax for AND condition

        The correct way to combine a > 5 and b < 10 with AND is (a > 5) & (b < 10).
      3. Final Answer:

        Use (a > 5) & (b < 10) -> Option A
      4. Quick Check:

        Parentheses + & = correct AND condition [OK]
      Hint: Always put each condition in parentheses when combining [OK]
      Common Mistakes:
      • Omitting parentheses around conditions
      • Using Python 'and' instead of '&' for arrays
      • Using 'or' instead of '|' for arrays
      2. Which of the following is the correct syntax to select elements from a NumPy array arr where values are NOT equal to 0 and less than 10?
      easy
      A. arr[arr != 0 & arr < 10]
      B. arr[(arr != 0) & (arr < 10)]
      C. arr[(arr != 0) | (arr < 10)]
      D. arr[~arr != 0 & arr < 10]

      Solution

      1. Step 1: Use parentheses for each condition

        Each condition must be enclosed in parentheses: (arr != 0) and (arr < 10).
      2. Step 2: Combine with AND operator

        Use & to combine conditions for selecting elements satisfying both.
      3. Final Answer:

        arr[(arr != 0) & (arr < 10)] -> Option B
      4. Quick Check:

        Parentheses + & + correct conditions = syntax correct [OK]
      Hint: Use parentheses around each condition and '&' for AND [OK]
      Common Mistakes:
      • Missing parentheses causing syntax errors
      • Using bitwise NOT (~) incorrectly
      • Using Python 'and' instead of '&'
      3. Given the code:
      import numpy as np
      arr = np.array([1, 5, 8, 12, 3, 7])
      result = arr[(arr > 3) | (arr == 1)]
      print(result)

      What is the output?
      medium
      A. [5 8 12 7]
      B. [1 5 8 12 3 7]
      C. [5 8 12]
      D. [1 5 8 12 7]

      Solution

      1. Step 1: Evaluate each condition on the array

        arr > 3 is True for 5, 8, 12, 7; arr == 1 is True for 1.
      2. Step 2: Combine conditions with OR operator

        Elements where either condition is True are selected: 1, 5, 8, 12, 7.
      3. Final Answer:

        [1 5 8 12 7] -> Option D
      4. Quick Check:

        OR condition selects 1 and all >3 values [OK]
      Hint: OR (|) selects elements matching either condition [OK]
      Common Mistakes:
      • Forgetting to include elements equal to 1
      • Using AND (&) instead of OR (|)
      • Misreading the array values
      4. What is wrong with this code snippet?
      import numpy as np
      arr = np.array([2, 4, 6, 8])
      filtered = arr[arr > 3 && arr < 8]
      print(filtered)
      medium
      A. Missing parentheses around conditions
      B. Using Python 'and' instead of '&'
      C. Using '&&' instead of '&' for combining conditions
      D. No error, code runs fine

      Solution

      1. Step 1: Identify operator error

        NumPy uses bitwise operators '&' and '|' for element-wise logical operations, not '&&'.
      2. Step 2: Correct operator usage

        Replace '&&' with '&' and add parentheses around each condition.
      3. Final Answer:

        Using '&&' instead of '&' for combining conditions -> Option C
      4. Quick Check:

        '&&' is invalid in NumPy, use '&' with parentheses [OK]
      Hint: Use '&' not '&&' for NumPy condition combining [OK]
      Common Mistakes:
      • Using '&&' from other languages
      • Not adding parentheses around conditions
      • Using Python 'and' instead of '&'
      5. You have a NumPy array data = np.array([10, 15, 20, 25, 30, 35]). You want to select elements that are either less than 20 or greater than or equal to 30, but NOT equal to 15. Which code correctly filters data?
      hard
      A. data[((data < 20) | (data >= 30)) & (data != 15)]
      B. data[(data < 20) | (data >= 30) & (data != 15)]
      C. data[(data < 20) & (data >= 30) & (data != 15)]
      D. data[~((data < 20) | (data >= 30) & (data == 15))]

      Solution

      1. Step 1: Combine OR conditions inside parentheses

        Use (data < 20) | (data >= 30) to select elements less than 20 or greater or equal to 30.
      2. Step 2: Exclude elements equal to 15 with AND

        Combine with & (data != 15) to exclude 15.
      3. Final Answer:

        data[((data < 20) | (data >= 30)) & (data != 15)] -> Option A
      4. Quick Check:

        Parentheses + OR + AND + NOT = correct filter [OK]
      Hint: Group OR conditions, then AND with NOT condition [OK]
      Common Mistakes:
      • Missing parentheses causing wrong precedence
      • Using AND instead of OR for first condition
      • Incorrect negation of 15