Bird
Raised Fist0
NumPydata~15 mins

Why set operations matter in NumPy - See It in Action

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
Why Set Operations Matter
📖 Scenario: Imagine you work in a store that sells fruits. You have two lists: one for fruits currently in stock and one for fruits customers want to buy. You want to find out which fruits are both in stock and wanted by customers, which fruits are only in stock, and which fruits are only wanted by customers.
🎯 Goal: You will use numpy set operations to find common fruits, fruits only in stock, and fruits only wanted by customers.
📋 What You'll Learn
Create two numpy arrays with exact fruit names
Create a variable to hold the common fruits
Use numpy set operations to find fruits only in stock and only wanted
Print the results clearly
💡 Why This Matters
🌍 Real World
Stores and businesses often need to compare lists of items, like stock vs customer demand, to make smart decisions.
💼 Career
Data analysts and scientists use set operations to clean data, find overlaps, and identify unique entries in datasets.
Progress0 / 4 steps
1
Create the fruit lists as numpy arrays
Create a numpy array called stock with these fruits: 'apple', 'banana', 'orange', 'kiwi', 'mango'.
NumPy
Hint

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

2
Create the customer wanted fruits array
Create a numpy array called wanted with these fruits: 'banana', 'kiwi', 'grape', 'mango', 'pineapple'.
NumPy
Hint

Use np.array([...]) again to create the wanted array with the exact fruits.

3
Find common and unique fruits using numpy set operations
Create three variables: common for fruits in both stock and wanted using np.intersect1d(stock, wanted), only_in_stock for fruits only in stock using np.setdiff1d(stock, wanted), and only_wanted for fruits only in wanted using np.setdiff1d(wanted, stock).
NumPy
Hint

Use np.intersect1d to find common fruits and np.setdiff1d to find fruits only in one array.

4
Print the results
Print the variables common, only_in_stock, and only_wanted each on a separate line with clear labels.
NumPy
Hint

Use print("Label:", variable) to show each result clearly.

Practice

(1/5)
1. What is the main purpose of using set operations in NumPy arrays?
easy
A. To multiply elements of arrays
B. To sort arrays in ascending order
C. To reshape arrays into different dimensions
D. To find common or unique elements between arrays

Solution

  1. Step 1: Understand set operations

    Set operations are used to compare arrays to find common or unique elements.
  2. Step 2: Identify the main purpose

    Sorting, multiplication, and reshaping are different array operations, not set operations.
  3. Final Answer:

    To find common or unique elements between arrays -> Option D
  4. Quick Check:

    Set operations = find common/unique elements [OK]
Hint: Set operations = compare arrays for common or unique items [OK]
Common Mistakes:
  • Confusing set operations with sorting or reshaping
  • Thinking set operations multiply elements
  • Assuming set operations change array shape
2. Which NumPy function is used to find the intersection of two arrays?
easy
A. np.intersect1d()
B. np.concatenate()
C. np.setdiff1d()
D. np.union1d()

Solution

  1. Step 1: Recall function names for set operations

    np.intersect1d() finds common elements between arrays.
  2. Step 2: Differentiate from other functions

    np.union1d() finds all unique elements combined, np.setdiff1d() finds differences, np.concatenate() joins arrays without set logic.
  3. Final Answer:

    np.intersect1d() -> Option A
  4. Quick Check:

    Intersection = np.intersect1d() [OK]
Hint: Intersection means common elements, use np.intersect1d() [OK]
Common Mistakes:
  • Using np.union1d() for intersection
  • Confusing set difference with intersection
  • Using np.concatenate() which just joins arrays
3. What is the output of the following code?
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([3, 4, 5, 6])
result = np.setdiff1d(arr1, arr2)
print(result)
medium
A. [1 2]
B. [3 4]
C. [5 6]
D. [1 2 3 4 5 6]

Solution

  1. Step 1: Understand np.setdiff1d()

    This function returns elements in the first array not in the second.
  2. Step 2: Apply to given arrays

    Elements in arr1 but not in arr2 are 1 and 2.
  3. Final Answer:

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

    Set difference arr1 - arr2 = [1 2] [OK]
Hint: Set difference = items in first array not in second [OK]
Common Mistakes:
  • Confusing set difference with intersection
  • Expecting union instead of difference
  • Misreading which array is first
4. The following code throws an error. What is the problem?
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = [2, 3, 4]
result = np.intersect1d(arr1, arr2)
print(result)
medium
A. arr2 is not a NumPy array
B. There is no error; code runs fine
C. np.intersect1d() cannot handle integers
D. np.intersect1d() requires both inputs to be lists

Solution

  1. Step 1: Check input types for np.intersect1d()

    np.intersect1d() accepts array-like inputs, including lists.
  2. Step 2: Verify code behavior

    arr2 is a list, which is valid input; code runs without error and outputs common elements.
  3. Final Answer:

    There is no error; code runs fine -> Option B
  4. Quick Check:

    np.intersect1d() accepts lists and arrays [OK]
Hint: np.intersect1d() accepts lists or arrays as input [OK]
Common Mistakes:
  • Assuming inputs must be NumPy arrays
  • Thinking np.intersect1d() only works with arrays
  • Expecting error due to mixed input types
5. You have two arrays:
arr1 = np.array([1, 2, 2, 3, 4])
arr2 = np.array([2, 3, 5])

How can you find all unique elements that appear in either array but not in both?
hard
A. Use np.intersect1d(arr1, arr2)
B. Use np.union1d(arr1, arr2)
C. Use np.setxor1d(arr1, arr2)
D. Use np.setdiff1d(arr1, arr2)

Solution

  1. Step 1: Understand the problem

    We want elements unique to each array, not shared by both.
  2. Step 2: Identify correct function

    np.setxor1d() returns elements in either array but not in both (exclusive or).
  3. Final Answer:

    Use np.setxor1d(arr1, arr2) -> Option C
  4. Quick Check:

    Unique elements in either array = np.setxor1d() [OK]
Hint: Exclusive elements = np.setxor1d() finds unique non-shared items [OK]
Common Mistakes:
  • Using union instead of exclusive or
  • Using intersection which finds common elements
  • Using set difference which is one-sided