Bird
Raised Fist0
NumPydata~20 mins

np.sum() and axis parameter in NumPy - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Sum Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of np.sum() with axis=0 on 2D array
What is the output of the following code?
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
result = np.sum(arr, axis=0)
print(result)
NumPy
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
result = np.sum(arr, axis=0)
print(result)
A[6 8 10]
B[5 7 9]
C[3 7 11]
D[1 2 3 4 5 6]
Attempts:
2 left
💡 Hint
axis=0 sums down the rows for each column.
❓ Predict Output
intermediate
2:00remaining
Result of np.sum() with axis=1 on 2D array
What does this code print?
import numpy as np
arr = np.array([[7, 8], [9, 10], [11, 12]])
print(np.sum(arr, axis=1))
NumPy
import numpy as np
arr = np.array([[7, 8], [9, 10], [11, 12]])
print(np.sum(arr, axis=1))
A[26 29]
B[7 9 11]
C[15 19 23]
D[7 8 9 10 11 12]
Attempts:
2 left
💡 Hint
axis=1 sums across the columns for each row.
❓ data_output
advanced
2:30remaining
Shape of result after np.sum with axis=1
Given this array:
import numpy as np
arr = np.array([[[1,2],[3,4]], [[5,6],[7,8]]])
result = np.sum(arr, axis=1)
print(result)
print(result.shape)

What is the shape of result?
NumPy
import numpy as np
arr = np.array([[[1,2],[3,4]], [[5,6],[7,8]]])
result = np.sum(arr, axis=1)
print(result)
print(result.shape)
A(2, 2)
B(2, 1, 2)
C(1, 2, 2)
D(2, 4)
Attempts:
2 left
💡 Hint
Summing over axis=1 removes that dimension.
❓ visualization
advanced
3:00remaining
Visualize np.sum() with axis=0 and axis=1
You have this 2D array:
import numpy as np
import matplotlib.pyplot as plt
arr = np.array([[1, 3, 5], [2, 4, 6]])

Which plot correctly shows the sums along axis=0 and axis=1?
NumPy
import numpy as np
import matplotlib.pyplot as plt
arr = np.array([[1, 3, 5], [2, 4, 6]])
sum_axis0 = np.sum(arr, axis=0)
sum_axis1 = np.sum(arr, axis=1)

plt.figure(figsize=(8,4))
plt.subplot(1,2,1)
plt.bar(['col0','col1','col2'], sum_axis0, color='blue')
plt.title('Sum along axis=0')

plt.subplot(1,2,2)
plt.bar(['row0','row1'], sum_axis1, color='green')
plt.title('Sum along axis=1')

plt.tight_layout()
plt.show()
ALeft plot bars: [3,7,11], Right plot bars: [9,12]
BLeft plot bars: [3,7,11], Right plot bars: [6,15]
CLeft plot bars: [1,3,5], Right plot bars: [2,4,6]
DLeft plot bars: [9,12], Right plot bars: [3,7,11]
Attempts:
2 left
💡 Hint
Sum axis=0 adds columns, sum axis=1 adds rows.
🧠 Conceptual
expert
2:30remaining
Effect of axis=None in np.sum() on 3D array
Consider a 3D numpy array with shape (3, 4, 5). What does np.sum(arr, axis=None) return?
AAn array with the same shape as the original, unchanged
BA 2D array with shape (3, 4) summing over the last axis
CA 1D array with length 3 summing over the last two axes
DA single number representing the sum of all elements in the array
Attempts:
2 left
💡 Hint
axis=None means sum everything into one value.

Practice

(1/5)
1. What does the axis parameter in np.sum() control?
easy
A. The data type of the output array.
B. The direction along which the sum is calculated (rows or columns).
C. The size of the array to sum.
D. The number of times the sum is repeated.

Solution

  1. Step 1: Understand the role of axis in np.sum()

    The axis parameter tells numpy whether to sum across rows (axis=1) or columns (axis=0).
  2. Step 2: Clarify what axis does not affect

    It does not change data type, size, or repetition of sums.
  3. Final Answer:

    The direction along which the sum is calculated (rows or columns). -> Option B
  4. Quick Check:

    axis controls sum direction [OK]
Hint: Axis decides row or column sum direction [OK]
Common Mistakes:
  • Thinking axis changes data type
  • Confusing axis with array size
  • Assuming axis repeats sums
2. Which of the following is the correct syntax to sum all elements of a 2D numpy array arr?
easy
A. np.sum(arr)
B. np.sum(arr, axis=1, 0)
C. np.sum(arr, axis=2)
D. np.sum(arr, axis='all')

Solution

  1. Step 1: Recall default behavior of np.sum()

    Without axis, np.sum(arr) sums all elements in the array.
  2. Step 2: Check invalid axis values

    axis=2 is invalid for 2D arrays, axis=1,0 is incorrect syntax, axis='all' is invalid.
  3. Final Answer:

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

    Default np.sum sums all elements [OK]
Hint: No axis sums all elements [OK]
Common Mistakes:
  • Using invalid axis values
  • Passing multiple axis values incorrectly
  • Using string instead of integer for axis
3. Given the array arr = np.array([[1, 2, 3], [4, 5, 6]]), what is the output of np.sum(arr, axis=0)?
medium
A. [5 7 9]
B. [3 7]
C. [6 15]
D. [1 2 3 4 5 6]

Solution

  1. Step 1: Understand axis=0 sums columns

    Summing along axis=0 adds elements vertically: (1+4), (2+5), (3+6).
  2. Step 2: Calculate sums for each column

    1+4=5, 2+5=7, 3+6=9, so result is [5 7 9].
  3. Final Answer:

    [5 7 9] -> Option A
  4. Quick Check:

    Sum columns = [5 7 9] [OK]
Hint: axis=0 sums columns vertically [OK]
Common Mistakes:
  • Confusing axis=0 with axis=1
  • Adding rows instead of columns
  • Expecting a scalar output
4. What is wrong with this code snippet?
import numpy as np
arr = np.array([[1, 2], [3, 4]])
result = np.sum(arr, axis=2)
medium
A. The array is not defined correctly.
B. np.sum() cannot be used on 2D arrays.
C. The axis value 2 is invalid for a 2D array.
D. The import statement is missing.

Solution

  1. Step 1: Check array dimensions

    The array has shape (2, 2), so valid axis values are 0 or 1.
  2. Step 2: Validate axis parameter

    axis=2 is out of bounds for this 2D array, causing an error.
  3. Final Answer:

    The axis value 2 is invalid for a 2D array. -> Option C
  4. Quick Check:

    Axis must be less than array dimensions [OK]
Hint: Axis must be less than array dimensions [OK]
Common Mistakes:
  • Using axis larger than array dimensions
  • Thinking np.sum can't handle 2D arrays
  • Ignoring error messages
5. You have a 3D numpy array arr = np.array([[[1,2],[3,4]], [[5,6],[7,8]]]). What is the shape of the result when you run np.sum(arr, axis=1)?
hard
A. (1, 2)
B. (3, 2)
C. (2, 4)
D. (2, 2)

Solution

  1. Step 1: Understand the shape of arr

    arr has shape (2, 2, 2): 2 blocks, each with 2 rows and 2 columns.
  2. Step 2: Summing along axis=1

    axis=1 sums over the second dimension (rows), reducing it from 2 to 1, so shape changes from (2, 2, 2) to (2, 2).
  3. Final Answer:

    (2, 2) -> Option D
  4. Quick Check:

    Sum axis=1 reduces dimension 2 to 1 [OK]
Hint: Sum along axis removes that dimension [OK]
Common Mistakes:
  • Confusing which axis is summed
  • Expecting shape to stay same
  • Mixing up dimensions in 3D arrays
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