Bird
Raised Fist0
Data Analysis Pythondata~20 mins

Array arithmetic (element-wise) in Data Analysis Python - Practice Problems & Coding Challenges

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

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = arr1 + arr2
print(result)
A[1 2 3 4 5 6]
BTypeError
C[4 7 9]
D[5 7 9]
Attempts:
2 left
💡 Hint
Think about how NumPy adds arrays of the same shape.
❓ data_output
intermediate
2:00remaining
Element-wise multiplication with broadcasting
Given the arrays below, what is the output of the element-wise multiplication?
Data Analysis Python
import numpy as np

arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([10, 20, 30])
result = arr1 * arr2
print(result)
A
[[10 20 30]
 [40 50 60]]
B
[[10 40 90]
 [40 100 180]]
C
[[10 20 30 10 20 30]
 [40 50 60 40 50 60]]
DValueError
Attempts:
2 left
💡 Hint
Remember how broadcasting works when multiplying arrays of different shapes.
🔧 Debug
advanced
2:00remaining
Identify the error in element-wise division
What error does this code raise when performing element-wise division?
Data Analysis Python
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
BValueError
CTypeError
DZeroDivisionError
Attempts:
2 left
💡 Hint
Look carefully at division by zero in NumPy arrays.
❓ visualization
advanced
2:00remaining
Plotting element-wise addition result
Which option correctly plots the element-wise addition of two arrays as a line chart?
Data Analysis Python
import numpy as np
import matplotlib.pyplot as plt

arr1 = np.array([1, 3, 5, 7])
arr2 = np.array([2, 4, 6, 8])
result = arr1 + arr2
plt.plot(result)
plt.show()
AA scatter plot with points [1, 3, 5, 7]
BA bar chart with bars at heights [3, 7, 11, 15]
CA line chart with points [3, 7, 11, 15] connected by lines
DAn empty plot with no data
Attempts:
2 left
💡 Hint
plt.plot draws a line chart by default connecting the points.
🧠 Conceptual
expert
2:00remaining
Effect of element-wise operations on array shape
If you multiply a (3,1) shaped NumPy array by a (1,4) shaped array element-wise, what is the shape of the result?
A(3, 4)
B(3, 1)
C(1, 4)
DValueError
Attempts:
2 left
💡 Hint
Think about how broadcasting expands dimensions to match.

Practice

(1/5)
1. What does element-wise addition of two arrays mean in simple terms?
easy
A. Combining the arrays end to end without any math
B. Adding each number in one array to the corresponding number in the other array
C. Multiplying each number in one array by the total sum of the other array
D. Adding all numbers in both arrays together as a single sum

Solution

  1. Step 1: Understand element-wise operation

    Element-wise means doing the operation on each pair of matching positions in two arrays.
  2. Step 2: Apply to addition

    For addition, each number in the first array is added to the number in the same position in the second array.
  3. Final Answer:

    Adding each number in one array to the corresponding number in the other array -> Option B
  4. Quick Check:

    Element-wise addition = add matching elements [OK]
Hint: Think pair by pair addition, not total sums [OK]
Common Mistakes:
  • Confusing element-wise with total sum
  • Thinking arrays are joined instead of added
  • Mixing addition with multiplication
2. Which of the following is the correct syntax to add two NumPy arrays a and b element-wise?
easy
A. c = a + b
B. c = a.add(b)
C. c = add(a, b)
D. c = a & b

Solution

  1. Step 1: Recall NumPy addition syntax

    NumPy supports element-wise addition using the + operator directly between arrays.
  2. Step 2: Check options

    c = a + b uses a + b, which is correct. c = a.add(b) is invalid syntax. c = add(a, b) requires importing add function explicitly. c = a & b uses bitwise AND, not addition.
  3. Final Answer:

    c = a + b -> Option A
  4. Quick Check:

    Use + for element-wise addition in NumPy [OK]
Hint: Use + operator for element-wise addition in NumPy [OK]
Common Mistakes:
  • Using bitwise operators instead of +
  • Trying to call add as a method on array
  • Forgetting to import add function if used
3. What is the output of this code?
import numpy as np
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
z = x * y
print(z)
medium
A. [4 5 6]
B. [5 7 9]
C. [4 10 18]
D. [1 2 3 4 5 6]

Solution

  1. Step 1: Understand element-wise multiplication

    Multiplying two arrays with * multiplies each element in the first array by the corresponding element in the second array.
  2. Step 2: Calculate each element

    1*4=4, 2*5=10, 3*6=18, so the result is [4, 10, 18].
  3. Final Answer:

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

    Element-wise multiply = multiply matching elements [OK]
Hint: Multiply arrays element by element with * operator [OK]
Common Mistakes:
  • Adding instead of multiplying
  • Concatenating arrays instead of multiplying
  • Confusing output format with list instead of array
4. The following code throws an error. What is the main reason?
import numpy as np
x = np.array([1, 2, 3])
y = np.array([4, 5])
z = x + y
print(z)
medium
A. You forgot to convert arrays to lists first
B. You must use np.add() instead of + operator
C. The print statement syntax is incorrect
D. Arrays have different sizes, so element-wise addition is not possible

Solution

  1. Step 1: Check array sizes

    Array x has 3 elements, y has 2 elements. Element-wise operations require arrays to be the same size or broadcastable.
  2. Step 2: Understand error cause

    Since sizes differ and no broadcasting applies here, addition fails with a ValueError.
  3. Final Answer:

    Arrays have different sizes, so element-wise addition is not possible -> Option D
  4. Quick Check:

    Array sizes must match for element-wise ops [OK]
Hint: Check array lengths before element-wise operations [OK]
Common Mistakes:
  • Assuming + works regardless of size
  • Thinking np.add fixes size mismatch
  • Blaming print syntax for error
5. You have two arrays representing daily sales for two stores:
store1 = np.array([10, 20, 30, 40])
store2 = np.array([5, 15, 25, 35])

You want to find the total sales per day by adding these arrays element-wise. Then, you want to apply a 10% tax on the total sales. Which code correctly does this?
hard
A. total = store1 + store2 final = total * 1.10 print(final)
B. total = store1 + store2 final = total + 0.10 print(final)
C. total = store1 * store2 final = total * 1.10 print(final)
D. final = (store1 + store2) / 1.10 print(final)

Solution

  1. Step 1: Calculate total sales element-wise

    Add store1 and store2 arrays element-wise using + operator to get daily totals.
  2. Step 2: Apply 10% tax

    Multiply the total sales array by 1.10 to add 10% tax to each day's total.
  3. Final Answer:

    total = store1 + store2 final = total * 1.10 print(final) -> Option A
  4. Quick Check:

    Add then multiply by 1.10 for tax [OK]
Hint: Add arrays first, then multiply by 1.10 for tax [OK]
Common Mistakes:
  • Adding 0.10 instead of multiplying by 1.10
  • Multiplying arrays instead of adding
  • Dividing instead of multiplying for tax
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