Bird
Raised Fist0
NumPydata~20 mins

Why aggregation matters in NumPy - Challenge Your Understanding

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Aggregation Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of numpy aggregation with axis
What is the output of this code that uses numpy to sum values along axis 0?
NumPy
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
result = np.sum(arr, axis=0)
print(result)
A[1 2 3 4 5 6]
B[5 7 9]
C[6 15]
D[3 7 11]
Attempts:
2 left
💡 Hint
Think about summing down the rows for each column.
❓ data_output
intermediate
2:00remaining
Number of elements after aggregation
After applying np.mean(arr, axis=1) on the array below, how many elements does the resulting array have?
NumPy
import numpy as np
arr = np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])
result = np.mean(arr, axis=1)
print(result)
A3
B1
C9
D6
Attempts:
2 left
💡 Hint
Mean along axis 1 reduces columns, keeping rows count.
❓ visualization
advanced
3:00remaining
Visualizing aggregation effect on data
Which plot correctly shows the effect of np.cumsum on the array below?
NumPy
import numpy as np
import matplotlib.pyplot as plt
arr = np.array([1, 2, 3, 4, 5])
cumsum = np.cumsum(arr)
plt.plot(arr, label='Original')
plt.plot(cumsum, label='Cumulative Sum')
plt.legend()
plt.show()
ALine plot with original values increasing by 1 and cumulative sum increasing faster
BPie chart showing distribution of original values
CScatter plot with original values decreasing and cumulative sum decreasing
DBar plot with original values and cumulative sum as constant line
Attempts:
2 left
💡 Hint
Cumulative sum adds all previous values, so it grows faster than original.
🧠 Conceptual
advanced
2:00remaining
Why aggregation reduces data size
Why does aggregation like np.sum or np.mean reduce the size of data when applied along an axis?
ABecause aggregation removes all rows and columns except the first
BBecause aggregation duplicates data to fill missing values
CBecause aggregation combines multiple values into a single summary value along the specified axis
DBecause aggregation sorts data and removes duplicates
Attempts:
2 left
💡 Hint
Think about what sum or mean does to multiple numbers.
🔧 Debug
expert
2:00remaining
Identify the error in aggregation code
What error will this code raise and why?
NumPy
import numpy as np
arr = np.array([[1, 2], [3, 4]])
result = np.sum(arr, axis=2)
print(result)
AValueError: operands could not be broadcast together with shapes (2,2) (2,)
BTypeError: unsupported operand type(s) for +: 'int' and 'str'
CNo error, prints [3 7]
DAxisError: axis 2 is out of bounds for array of dimension 2
Attempts:
2 left
💡 Hint
Check the dimensions of the array and the axis argument.

Practice

(1/5)
1. What is the main purpose of aggregation in data analysis using numpy?
easy
A. To remove missing values from data
B. To create new columns in a dataset
C. To summarize many data points into simple values like sums or averages
D. To sort data in ascending order

Solution

  1. Step 1: Understand aggregation meaning

    Aggregation means combining many values into one summary value.
  2. Step 2: Identify common aggregation uses

    Common aggregations are sum, mean, max, min, which summarize data quickly.
  3. Final Answer:

    To summarize many data points into simple values like sums or averages -> Option C
  4. Quick Check:

    Aggregation = summary values [OK]
Hint: Aggregation means summarizing data points simply [OK]
Common Mistakes:
  • Confusing aggregation with sorting
  • Thinking aggregation creates new columns
  • Mixing aggregation with data cleaning
2. Which of the following is the correct syntax to calculate the mean of a numpy array arr?
easy
A. arr.mean()
B. mean(arr)
C. numpy.mean(arr)
D. arr.average()

Solution

  1. Step 1: Recall numpy array methods

    Numpy arrays have a method called mean() to calculate average.
  2. Step 2: Check syntax correctness

    Calling arr.mean() is correct; mean(arr) is invalid without import, numpy.mean(arr) requires prefix, arr.average() does not exist.
  3. Final Answer:

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

    Array method for mean = arr.mean() [OK]
Hint: Use array.method() for aggregation in numpy [OK]
Common Mistakes:
  • Using mean(arr) without numpy prefix or import
  • Using arr.average() which is not a numpy method
  • Confusing function and method syntax
3. What is the output of this code?
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr.sum())
medium
A. 5
B. 15
C. [1 2 3 4 5]
D. Error

Solution

  1. Step 1: Understand the array values

    The array contains numbers 1, 2, 3, 4, 5.
  2. Step 2: Calculate the sum of array elements

    Sum = 1+2+3+4+5 = 15.
  3. Final Answer:

    15 -> Option B
  4. Quick Check:

    Sum of 1 to 5 = 15 [OK]
Hint: Sum adds all elements in the array [OK]
Common Mistakes:
  • Confusing sum with max or count
  • Expecting array output instead of single value
  • Syntax errors from missing import
4. Identify the error in this code snippet:
import numpy as np
arr = np.array([1, 2, 3, 4])
result = arr.mean
print(result)
medium
A. mean() method does not exist in numpy
B. Using print instead of return
C. Array should be a list for mean to work
D. Missing parentheses when calling mean method

Solution

  1. Step 1: Check how mean is called

    In the code, arr.mean is assigned without parentheses, so it is a method reference, not a value.
  2. Step 2: Understand method call syntax

    To get the mean value, arr.mean() must be called with parentheses before assignment.
  3. Final Answer:

    Missing parentheses when calling mean method -> Option D
  4. Quick Check:

    Method call needs () [OK]
Hint: Call methods with () to get results [OK]
Common Mistakes:
  • Assigning method without calling it
  • Thinking print causes error
  • Believing mean only works on lists
5. You have a 2D numpy array representing sales data for 3 products over 4 days:
import numpy as np
sales = np.array([[10, 20, 30, 40],
                  [5, 15, 25, 35],
                  [2, 4, 6, 8]])

Which code correctly calculates the total sales per product?
hard
A. sales.sum(axis=1)
B. sales.sum(axis=0)
C. sales.mean(axis=1)
D. sales.max(axis=0)

Solution

  1. Step 1: Understand array shape and axis meaning

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

    Summing along axis=1 adds sales across days for each product, giving total sales per product.
  3. Final Answer:

    sales.sum(axis=1) -> Option A
  4. Quick Check:

    Sum per product = sum across columns (axis=1) [OK]
Hint: Sum axis=1 sums rows (per product) in 2D array [OK]
Common Mistakes:
  • Using axis=0 sums per day, not per product
  • Using mean instead of sum for totals
  • Confusing axis numbering in numpy
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