Bird
Raised Fist0
NumPydata~5 mins

np.mean() for average in NumPy

Choose your learning style10 modes available
Introduction

We use np.mean() to find the average value of numbers. It helps us understand the typical value in a group of numbers.

To find the average score of students in a class.
To calculate the average temperature over a week.
To get the average sales amount from daily sales data.
To summarize the average height of people in a survey.
Syntax
NumPy
np.mean(array, axis=None, dtype=None, out=None, keepdims=False)

array is the list or array of numbers you want to average.

axis decides if you want the average across rows, columns, or the whole array.

Examples
Finds the average of all numbers in the list.
NumPy
np.mean([1, 2, 3, 4, 5])
Finds the average for each column.
NumPy
np.mean([[1, 2], [3, 4]], axis=0)
Finds the average for each row.
NumPy
np.mean([[1, 2], [3, 4]], axis=1)
Sample Program

This program shows how to use np.mean() to find averages of a simple list and a 2D array. It calculates the overall average, averages by columns, and averages by rows.

NumPy
import numpy as np

# List of numbers
numbers = [10, 20, 30, 40, 50]

# Calculate average
average = np.mean(numbers)
print(f"Average of numbers: {average}")

# 2D array example
data = np.array([[1, 2, 3], [4, 5, 6]])

# Average of all elements
avg_all = np.mean(data)
print(f"Average of all elements: {avg_all}")

# Average by columns
avg_columns = np.mean(data, axis=0)
print(f"Average by columns: {avg_columns}")

# Average by rows
avg_rows = np.mean(data, axis=1)
print(f"Average by rows: {avg_rows}")
OutputSuccess
Important Notes

If your data has missing values (like np.nan), use np.nanmean() to ignore them.

Setting axis=None (default) calculates the average of all elements.

Summary

np.mean() finds the average value of numbers in arrays or lists.

You can calculate the average across the whole data or along rows or columns using the axis parameter.

It helps summarize data to understand typical values quickly.

Practice

(1/5)
1. What does the function np.mean() do when applied to a list or array?
easy
A. Counts the number of elements in the list or array
B. Finds the maximum value in the list or array
C. Sorts the list or array in ascending order
D. Calculates the average (mean) value of the numbers

Solution

  1. Step 1: Understand the purpose of np.mean()

    The function np.mean() is designed to calculate the average value of numbers in a list or array.
  2. Step 2: Compare with other options

    Other options describe different functions: maximum value, count, or sorting, which are not what np.mean() does.
  3. Final Answer:

    Calculates the average (mean) value of the numbers -> Option D
  4. Quick Check:

    np.mean() = average [OK]
Hint: Mean = sum of values รท number of values [OK]
Common Mistakes:
  • Confusing mean with max or count
  • Thinking it sorts the data
  • Using sum instead of mean
2. Which of the following is the correct syntax for np.mean() to calculate the mean of a NumPy array named arr?
easy
A. np.mean(arr)
B. mean(arr)
C. arr.mean()
D. np.average(arr)

Solution

  1. Step 1: Identify the standard NumPy function for mean

    The correct function to calculate mean in NumPy is np.mean(), which takes the array as an argument.
  2. Step 2: Check other options

    mean(arr) is not defined without importing; arr.mean() is valid but not the function asked; np.average(arr) is similar but not the exact function requested.
  3. Final Answer:

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

    Use np.mean(array) for average [OK]
Hint: Use np.mean(array) to get average quickly [OK]
Common Mistakes:
  • Calling mean() without np prefix
  • Using arr.mean() instead of np.mean(arr)
  • Confusing np.mean() with np.average()
3. What is the output of the following code?
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
result = np.mean(arr, axis=0)
print(result)
medium
A. [1.5 2.5 3.5]
B. [3. 4. 5.]
C. [2.5 3.5 4.5]
D. [3.5 4.5 5.5]

Solution

  1. Step 1: Understand the array and axis parameter

    The array is 2 rows by 3 columns: [[1,2,3],[4,5,6]]. Using axis=0 means calculating the mean down each column.
  2. Step 2: Calculate mean for each column

    Column 1: (1+4)/2 = 2.5, Column 2: (2+5)/2 = 3.5, Column 3: (3+6)/2 = 4.5. So the result is [2.5, 3.5, 4.5].
  3. Step 3: Check options carefully

    [2.5 3.5 4.5] matches the calculated values exactly.
  4. Final Answer:

    [2.5 3.5 4.5] -> Option C
  5. Quick Check:

    Mean along axis=0 averages columns [OK]
Hint: Axis=0 averages columns, axis=1 averages rows [OK]
Common Mistakes:
  • Mixing axis=0 and axis=1
  • Calculating mean of entire array instead of axis
  • Misreading array shape
4. The following code throws an error. What is the problem?
import numpy as np
arr = [1, 2, 3, 4]
result = np.mean(arr, axis=1)
print(result)
medium
A. np.mean() cannot be used on lists
B. The list is 1D, so axis=1 is invalid
C. Missing parentheses in np.mean
D. The variable name 'arr' is reserved

Solution

  1. Step 1: Check the array shape

    The variable arr is a 1D list with shape (4,). Axis 1 does not exist in 1D data.
  2. Step 2: Understand axis parameter

    Axis=1 means operate along columns in 2D or higher arrays. Using axis=1 on 1D data causes an error.
  3. Final Answer:

    The list is 1D, so axis=1 is invalid -> Option B
  4. Quick Check:

    Axis must exist in array shape [OK]
Hint: Check array dimensions before using axis [OK]
Common Mistakes:
  • Using axis parameter on 1D arrays
  • Thinking np.mean can't handle lists
  • Confusing axis indexing
5. You have a 3D NumPy array representing daily temperatures for 2 cities over 3 days with 4 measurements each day:
temps = np.array([
  [[20, 22, 21, 23], [19, 20, 22, 21]],
  [[21, 23, 22, 24], [20, 21, 23, 22]],
  [[22, 24, 23, 25], [21, 22, 24, 23]]
])

Which code correctly calculates the average temperature for each city over all days and measurements?
hard
A. np.mean(temps, axis=(0,2))
B. np.mean(temps, axis=0)
C. np.mean(temps, axis=1)
D. np.mean(temps, axis=2)

Solution

  1. Step 1: Understand the array shape and axes

    The array shape is (3, 2, 4): 3 days, 2 cities, 4 measurements each day.
  2. Step 2: Identify axes to average over

    To get average per city over all days and measurements, we average over days (axis 0) and measurements (axis 2), keeping axis 1 (cities).
  3. Step 3: Use axis=(0,2) in np.mean

    Using np.mean(temps, axis=(0,2)) averages over days and measurements, resulting in average per city.
  4. Final Answer:

    np.mean(temps, axis=(0,2)) -> Option A
  5. Quick Check:

    Average over days and measurements = axis 0 and 2 [OK]
Hint: Use tuple axis to average multiple dimensions [OK]
Common Mistakes:
  • Averaging over wrong axes
  • Using single axis instead of tuple
  • Confusing city axis with day or measurement axis
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