Bird
Raised Fist0
NumPydata~5 mins

Scalar and array broadcasting in NumPy - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is broadcasting in numpy?
Broadcasting is a way numpy allows operations between arrays of different shapes by automatically expanding the smaller array to match the shape of the larger one without copying data.
Click to reveal answer
beginner
How does numpy handle operations between a scalar and an array?
Numpy treats the scalar as if it were an array of the same shape as the other array, with all elements equal to the scalar, allowing element-wise operations.
Click to reveal answer
beginner
Example: What is the result of np.array([1, 2, 3]) + 5?
The result is np.array([6, 7, 8]) because the scalar 5 is broadcast to each element of the array and added element-wise.
Click to reveal answer
intermediate
What are the rules numpy uses to decide if broadcasting is possible?
Numpy compares shapes from right to left. Dimensions must be equal or one of them must be 1. If these conditions hold for all dimensions, broadcasting works.
Click to reveal answer
beginner
Why is broadcasting useful in data science?
Broadcasting lets you write simple code to perform operations on arrays of different sizes efficiently, saving memory and making calculations faster.
Click to reveal answer
What happens when you add a scalar to a numpy array?
AThe scalar is added to each element of the array
BAn error occurs because shapes differ
CThe scalar replaces the array elements
DOnly the first element of the array is added to the scalar
Which of these shape pairs can be broadcast together? (3,1) and (1,4)
AYes, because dimensions are compatible
BNo, because shapes differ
COnly if both are 1D arrays
DOnly if one shape is (3,4)
What does broadcasting NOT do?
AAutomatically expand arrays without copying data
BMake element-wise operations possible
CAllow operations on arrays of different shapes
DChange the original array's shape permanently
If you have an array shape (5,) and a scalar, what will be the shape of the result after addition?
A(5,5)
B(1,)
C(5,)
D()
Which of these can you use to check the shape of an array?
Anp.length()
Barr.shape
Cnp.size()
Dnp.dim()
Explain in your own words how numpy uses broadcasting when adding a scalar to an array.
Think about how a single number can be added to many numbers in a list.
You got /4 concepts.
    Describe the rules numpy follows to decide if two arrays can be broadcast together.
    Focus on how numpy checks each dimension starting from the end.
    You got /4 concepts.

      Practice

      (1/5)
      1. What happens when you add a scalar to a NumPy array using broadcasting?
      easy
      A. The scalar is added to each element of the array.
      B. The scalar is ignored and the array remains unchanged.
      C. An error occurs because shapes do not match.
      D. The scalar replaces all elements in the array.

      Solution

      1. Step 1: Understand scalar and array addition

        A scalar is treated as an array with no dimensions and can be added to each element of the array.
      2. Step 2: Apply broadcasting rules

        Broadcasting repeats the scalar value to match the shape of the array, adding it element-wise.
      3. Final Answer:

        The scalar is added to each element of the array. -> Option A
      4. Quick Check:

        Scalar + array = element-wise addition [OK]
      Hint: Scalar acts like a single value added to all elements [OK]
      Common Mistakes:
      • Thinking scalar is ignored
      • Expecting shape mismatch error
      • Assuming scalar replaces array
      2. Which of the following is the correct syntax to add scalar 5 to a NumPy array arr?
      easy
      A. arr.add(5)
      B. arr + 5
      C. add(arr, 5)
      D. arr + [5]

      Solution

      1. Step 1: Recall NumPy scalar addition syntax

        Adding a scalar to an array is done simply by using the plus operator: arr + scalar.
      2. Step 2: Evaluate options

        arr + 5 uses arr + 5, which is correct. arr.add(5) is invalid syntax. add(arr, 5) is not a NumPy function. arr + [5] tries to add a list, which changes behavior.
      3. Final Answer:

        arr + 5 -> Option B
      4. Quick Check:

        Use arr + scalar for scalar addition [OK]
      Hint: Use plus operator directly for scalar addition [OK]
      Common Mistakes:
      • Using method .add() which doesn't exist
      • Passing scalar inside a list
      • Using non-existent add() function
      3. What is the output of the following code?
      import numpy as np
      arr = np.array([1, 2, 3])
      result = arr * 3
      print(result)
      medium
      A. [3 3 3]
      B. [1 2 3 3 6 9]
      C. Error due to shape mismatch
      D. [3 6 9]

      Solution

      1. Step 1: Understand scalar multiplication with array

        Multiplying an array by a scalar multiplies each element by that scalar.
      2. Step 2: Calculate element-wise multiplication

        Each element in [1, 2, 3] is multiplied by 3, resulting in [3, 6, 9].
      3. Final Answer:

        [3 6 9] -> Option D
      4. Quick Check:

        Array * scalar = element-wise multiplication [OK]
      Hint: Multiply each element by scalar directly [OK]
      Common Mistakes:
      • Expecting concatenation instead of multiplication
      • Thinking output is repeated elements
      • Assuming error due to shape mismatch
      4. Identify the error in this code snippet:
      import numpy as np
      arr = np.array([1, 2, 3])
      scalar = np.array([5])
      result = arr + scalar
      print(result)
      medium
      A. Output is [1 2 3 5]
      B. Error because scalar is an array, not a number
      C. No error; output is [6 7 8]
      D. Error due to shape mismatch

      Solution

      1. Step 1: Check shapes of arrays

        arr shape is (3,), scalar shape is (1,). Broadcasting allows (1,) to expand to (3,).
      2. Step 2: Apply broadcasting addition

        Each element of arr is added to 5, resulting in [6, 7, 8].
      3. Final Answer:

        No error; output is [6 7 8] -> Option C
      4. Quick Check:

        Broadcasting works with (3,) + (1,) arrays [OK]
      Hint: Arrays with shape (n,) and (1,) broadcast correctly [OK]
      Common Mistakes:
      • Assuming scalar must be a plain number
      • Thinking shape mismatch causes error
      • Expecting concatenation instead of addition
      5. Given a 2D array arr = np.array([[1, 2, 3], [4, 5, 6]]), what is the result of arr + np.array([10, 20, 30])?
      hard
      A. [[11 22 33] [14 25 36]]
      B. [[11 12 13] [14 15 16]]
      C. Error due to shape mismatch
      D. [[10 20 30] [10 20 30]]

      Solution

      1. Step 1: Analyze shapes for broadcasting

        arr shape is (2,3), and np.array([10, 20, 30]) shape is (3,). The second array broadcasts across rows.
      2. Step 2: Perform element-wise addition row-wise

        Each row of arr adds the vector [10, 20, 30] element-wise, resulting in [[11, 22, 33], [14, 25, 36]].
      3. Final Answer:

        [[11 22 33] [14 25 36]] -> Option A
      4. Quick Check:

        Broadcast vector added to each row [OK]
      Hint: Vector added to each row in 2D array [OK]
      Common Mistakes:
      • Expecting error due to different shapes
      • Adding vector only to first row
      • Confusing addition with concatenation
      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