Bird
Raised Fist0
NumPydata~15 mins

np.cumsum() for cumulative sum in NumPy - Mini Project: Build & Apply

Choose your learning style10 modes available
Calculate Cumulative Sum Using np.cumsum()
📖 Scenario: Imagine you have daily sales numbers for a small shop. You want to see how sales add up day by day to understand the total sales over time.
🎯 Goal: You will create a list of daily sales, then use np.cumsum() to find the running total of sales each day.
📋 What You'll Learn
Create a numpy array called daily_sales with exact values: 5, 10, 7, 3, 8
Create a variable called cumulative_sales that stores the cumulative sum of daily_sales using np.cumsum()
Print the cumulative_sales array
💡 Why This Matters
🌍 Real World
Cumulative sums are used in finance to track total earnings, in health to track total steps walked, and in sales to track total revenue over time.
💼 Career
Data analysts and scientists often use cumulative sums to understand trends and totals in datasets, making this a key skill for reporting and decision-making.
Progress0 / 4 steps
1
Create the daily sales data
Import numpy as np and create a numpy array called daily_sales with these exact values: 5, 10, 7, 3, 8
NumPy
Hint

Use np.array() to create the array with the exact numbers inside square brackets.

2
Calculate cumulative sales
Create a variable called cumulative_sales and set it to the cumulative sum of daily_sales using np.cumsum()
NumPy
Hint

Use np.cumsum() and pass daily_sales inside the parentheses.

3
Print the cumulative sales
Write a print statement to display the cumulative_sales array
NumPy
Hint

Use print(cumulative_sales) to show the running totals.

4
Explain the result
Add a print statement that explains the output by printing: 'Cumulative sales show total sales up to each day.'
NumPy
Hint

Use print() with the exact text inside quotes.

Practice

(1/5)
1. What does the np.cumsum() function do when applied to a 1D numpy array?
easy
A. Calculates the cumulative sum of the elements step by step
B. Calculates the product of all elements
C. Sorts the array in ascending order
D. Finds the maximum value in the array

Solution

  1. Step 1: Understand the function purpose

    np.cumsum() adds elements cumulatively, meaning each element is the sum of all previous elements plus itself.
  2. Step 2: Compare with other options

    Options B, C, and D describe different operations: product, sorting, and max value, which are not what np.cumsum() does.
  3. Final Answer:

    Calculates the cumulative sum of the elements step by step -> Option A
  4. Quick Check:

    np.cumsum() = cumulative sum [OK]
Hint: Remember: cumsum means running total sum [OK]
Common Mistakes:
  • Confusing cumulative sum with product
  • Thinking it sorts the array
  • Assuming it finds max or min values
2. Which of the following is the correct syntax to compute the cumulative sum of a numpy array arr?
easy
A. np.cumsum(arr)
B. All of the above
C. np.cumsum(arr, axis=0)
D. arr.cumsum()

Solution

  1. Step 1: Check numpy function usage

    np.cumsum(arr) is the basic syntax to get cumulative sum of all elements in the array.
  2. Step 2: Check array method and axis parameter

    arr.cumsum() is a valid method call on numpy arrays. Also, np.cumsum(arr, axis=0) computes cumulative sum along the first axis, valid for multi-dimensional arrays.
  3. Final Answer:

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

    Basic syntax is np.cumsum(arr) [OK]
Hint: np and array method both work; axis optional [OK]
Common Mistakes:
  • Thinking only np.cumsum(arr) works
  • Ignoring axis parameter for multi-dimensional arrays
  • Assuming cumsum is not an array method
3. What is the output of the following code?
import numpy as np
arr = np.array([2, 4, 6, 8])
cum_sum = np.cumsum(arr)
print(cum_sum)
medium
A. [2 8 14 22]
B. [2 4 6 8]
C. [2 6 12 20]
D. [20 18 14 8]

Solution

  1. Step 1: Calculate cumulative sums stepwise

    Start with 2, then 2+4=6, then 6+6=12, then 12+8=20.
  2. Step 2: Form the cumulative sum array

    The resulting array is [2, 6, 12, 20].
  3. Final Answer:

    [2 6 12 20] -> Option C
  4. Quick Check:

    Running total sums = [2, 6, 12, 20] [OK]
Hint: Add each element to sum of all before it [OK]
Common Mistakes:
  • Confusing cumulative sum with original array
  • Adding elements incorrectly
  • Reversing the order of sums
4. The following code throws an error. What is the problem?
import numpy as np
arr = np.array([[1, 2], [3, 4]])
cum_sum = np.cumsum(arr, axis=2)
print(cum_sum)
medium
A. Syntax error in np.cumsum call
B. np.cumsum does not accept axis parameter
C. Array must be 1D for cumsum
D. Axis 2 does not exist for a 2D array

Solution

  1. Step 1: Check array dimensions

    The array has shape (2, 2), so it has axes 0 and 1 only.
  2. Step 2: Validate axis parameter

    Using axis=2 is invalid because axis 2 does not exist for this 2D array, causing an error.
  3. Final Answer:

    Axis 2 does not exist for a 2D array -> Option D
  4. Quick Check:

    Axis must be within array dimensions [OK]
Hint: Axis must be less than array dimensions [OK]
Common Mistakes:
  • Assuming axis parameter is optional but invalid
  • Thinking cumsum only works on 1D arrays
  • Confusing syntax error with axis error
5. Given a 2D numpy array representing daily sales for 3 products over 4 days:
sales = np.array([[5, 3, 2],
                  [4, 6, 1],
                  [7, 2, 3],
                  [3, 5, 4]])

Which code correctly computes the cumulative sales per product over the days?
hard
A. np.cumsum(sales)
B. np.cumsum(sales, axis=0)
C. np.cumsum(sales, axis=1)
D. np.cumsum(sales, axis=2)

Solution

  1. Step 1: Understand the array shape and axis meaning

    The array shape is (4, 3): 4 days (rows), 3 products (columns). Axis 0 moves down rows (days), axis 1 moves across products.
  2. Step 2: Choose axis for cumulative sum per product over days

    To get cumulative sales per product over days, sum down each column (axis=0).
  3. Final Answer:

    np.cumsum(sales, axis=0) -> Option B
  4. Quick Check:

    Cumulative sum down rows = axis 0 [OK]
Hint: Sum down rows (axis=0) for cumulative per product [OK]
Common Mistakes:
  • Using axis=1 sums across products, not over days
  • Ignoring axis parameter
  • Using invalid axis=2 for 2D array
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