Bird
Raised Fist0
NumPydata~20 mins

Element-wise arithmetic in NumPy - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Element-wise Arithmetic Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of element-wise addition with broadcasting
What is the output of this code snippet using NumPy arrays?
NumPy
import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([[10], [20], [30]])
result = arr1 + arr2
print(result)
A
[[1 2 3]
 [10 20 30]
 [11 22 33]]
B
[[10 20 30]
 [11 21 31]
 [12 22 32]]
C
[[11 12 13]
 [21 22 23]
 [31 32 33]]
D
[[11 22 33]
 [12 23 34]
 [13 24 35]]
Attempts:
2 left
💡 Hint
Remember how broadcasting works when adding a 1D array to a 2D array.
❓ data_output
intermediate
2:00remaining
Result of element-wise multiplication with different shapes
Given these NumPy arrays, what is the shape and content of the result after element-wise multiplication?
NumPy
import numpy as np

x = np.array([[1, 2, 3], [4, 5, 6]])
y = np.array([2, 3, 4])
result = x * y
print(result)
print(result.shape)
A
Result:
[[ 2  4  6]
 [ 8 10 12]]
Shape: (2, 3)
B
Result:
[[ 2  6 12]
 [ 8 15 24]]
Shape: (2, 3)
C
Result:
[[ 2  6 12  8 15 24]]
Shape: (1, 6)
D
Result:
[[ 2  6]
 [ 8 15]
 [12 24]]
Shape: (3, 2)
Attempts:
2 left
💡 Hint
Check how the 1D array y is broadcast across the rows of x.
🔧 Debug
advanced
2:00remaining
Identify the error in element-wise division
What error will this code raise when executed?
NumPy
import numpy as np

arr1 = np.array([1, 2, 0])
arr2 = np.array([0, 2, 3])
result = arr1 / arr2
print(result)
ARuntimeWarning: divide by zero encountered in true_divide and result: [inf 1. 0.]
BTypeError: unsupported operand type(s) for /: 'int' and 'int'
CValueError: operands could not be broadcast together
DZeroDivisionError
Attempts:
2 left
💡 Hint
Consider how NumPy handles division by zero in arrays.
❓ visualization
advanced
2:00remaining
Visualizing element-wise subtraction result
Which plot correctly shows the element-wise subtraction of these two arrays?
NumPy
import numpy as np
import matplotlib.pyplot as plt

x = np.array([5, 10, 15, 20])
y = np.array([2, 8, 12, 18])
result = x - y
plt.bar(range(len(result)), result)
plt.xlabel('Index')
plt.ylabel('Difference')
plt.title('Element-wise subtraction result')
plt.show()
ABar heights: [3, 2, 3, 2]
BBar heights: [-3, -2, -3, -2]
CBar heights: [7, 18, 27, 38]
DBar heights: [2, 8, 12, 18]
Attempts:
2 left
💡 Hint
Subtract each element of y from the corresponding element of x.
🧠 Conceptual
expert
3:00remaining
Understanding element-wise arithmetic with masked arrays
Given two masked arrays, what is the output of their element-wise multiplication?
NumPy
import numpy as np
import numpy.ma as ma

arr1 = ma.array([1, 2, 3, 4], mask=[False, True, False, False])
arr2 = ma.array([10, 20, 30, 40], mask=[False, False, True, False])
result = arr1 * arr2
print(result)
print(result.mask)
A
Data: [10 40 -- 160]
Mask: [False False True False]
B
Data: [10 40 90 160]
Mask: [False False False False]
C
Data: [10 -- 90 160]
Mask: [False True True False]
D
Data: [10 -- -- 160]
Mask: [False True True False]
Attempts:
2 left
💡 Hint
Remember that the mask in the result is the logical OR of the input masks.

Practice

(1/5)
1. What does element-wise arithmetic mean in numpy?
easy
A. Adding arrays only if they have the same number of elements
B. Applying operations to each pair of elements in arrays individually
C. Multiplying the sum of all elements in two arrays
D. Combining arrays into a single list

Solution

  1. Step 1: Understand element-wise operation

    Element-wise arithmetic means applying the operation to each corresponding element in two arrays.
  2. Step 2: Compare options

    Only Applying operations to each pair of elements in arrays individually correctly describes this as applying operations to each pair of elements individually.
  3. Final Answer:

    Applying operations to each pair of elements in arrays individually -> Option B
  4. Quick Check:

    Element-wise = operation on each element pair [OK]
Hint: Think: operation applies to each element pair separately [OK]
Common Mistakes:
  • Confusing element-wise with whole-array operations
  • Thinking arrays must be identical length only
  • Assuming element-wise means concatenation
2. Which of the following is the correct syntax to add two numpy arrays a and b element-wise?
easy
A. np.sum(a, b)
B. a.add(b)
C. a + b
D. a.append(b)

Solution

  1. Step 1: Check numpy addition methods

    The + operator performs element-wise addition in numpy.
  2. Step 2: Evaluate options

    a.add(b) is invalid because numpy arrays do not have an add method. np.sum(a, b) computes sums, not element-wise addition. a.append(b) is a list method and errors on arrays.
  3. Final Answer:

    a + b -> Option C
  4. Quick Check:

    + operator adds arrays element-wise [OK]
Hint: Use + for element-wise addition [OK]
Common Mistakes:
  • Using methods that don't exist on numpy arrays
  • Trying to add arrays with Python list methods
  • Confusing element-wise addition with matrix multiplication
3. What is the output of this code?
import numpy as np
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
print(x * y)
medium
A. [4 10 18]
B. [5 7 9]
C. [1 2 3 4 5 6]
D. Error: arrays must be same shape

Solution

  1. Step 1: Understand element-wise multiplication

    Multiplying two numpy arrays multiplies each element pair: 1*4=4, 2*5=10, 3*6=18.
  2. Step 2: Calculate output array

    The result is an array: [4, 10, 18].
  3. Final Answer:

    [4 10 18] -> Option A
  4. Quick Check:

    Element-wise multiply: [1*4, 2*5, 3*6] = [4 10 18] [OK]
Hint: Multiply arrays element-wise: multiply each pair [OK]
Common Mistakes:
  • Adding instead of multiplying elements
  • Expecting concatenation of arrays
  • Thinking multiplication sums elements
4. Identify the error in this code snippet:
import numpy as np
x = np.array([1, 2, 3])
y = np.array([4, 5])
print(x + y)
medium
A. No error, output is [5 7 3]
B. Syntax error in print statement
C. Missing import statement for numpy
D. Arrays have incompatible shapes for element-wise addition

Solution

  1. Step 1: Check array shapes

    Array x has shape (3,), y has shape (2,). They are not compatible for element-wise addition.
  2. Step 2: Understand numpy broadcasting rules

    Broadcasting requires shapes to be compatible; here they differ and cause an error.
  3. Final Answer:

    Arrays have incompatible shapes for element-wise addition -> Option D
  4. Quick Check:

    Shape mismatch causes error in element-wise addition [OK]
Hint: Check array shapes before element-wise operations [OK]
Common Mistakes:
  • Assuming arrays auto-align despite different lengths
  • Ignoring broadcasting rules
  • Thinking Python lists behave like numpy arrays
5. Given two arrays:
a = np.array([[1, 2], [3, 4]])
b = np.array([10, 20])

What is the result of a + b and why?
hard
A. [[11 22] [13 24]] because b is broadcasted to each row of a
B. [[10 20] [10 20]] because b replaces a
C. [[1 2] [3 4]] because addition is not possible
D. Error due to shape mismatch

Solution

  1. Step 1: Analyze shapes of arrays

    a is shape (2,2), b is shape (2,). Numpy broadcasts b across rows of a.
  2. Step 2: Perform element-wise addition with broadcasting

    Add b to each row of a: first row [1+10, 2+20], second row [3+10, 4+20].
  3. Final Answer:

    [[11 22] [13 24]] -> Option A
  4. Quick Check:

    Broadcasting adds b to each row of a [OK]
Hint: Broadcast smaller array to match larger shape for element-wise ops [OK]
Common Mistakes:
  • Expecting error due to different shapes
  • Thinking b replaces a instead of broadcasting
  • Ignoring numpy broadcasting rules
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