Bird
Raised Fist0
NumPydata~5 mins

np.min() and np.max() in NumPy

Choose your learning style10 modes available
Introduction

We use np.min() and np.max() to find the smallest and largest values in a group of numbers. This helps us understand the range of data quickly.

Finding the lowest and highest temperatures recorded in a week.
Checking the minimum and maximum scores in a class test.
Identifying the smallest and largest sales numbers in a month.
Determining the range of heights in a group of people.
Syntax
NumPy
np.min(array, axis=None)
np.max(array, axis=None)

array is the data you want to check, like a list or NumPy array.

axis lets you find min or max along rows (axis=1) or columns (axis=0) in 2D arrays.

Examples
Finds the smallest number in the list, which is 1.
NumPy
np.min([3, 1, 4, 2])
Finds the largest number in the list, which is 4.
NumPy
np.max([3, 1, 4, 2])
Finds the smallest numbers in each column: [1, 2].
NumPy
arr = np.array([[1, 5], [3, 2]])
np.min(arr, axis=0)
Finds the largest numbers in each row: [5, 3].
NumPy
arr = np.array([[1, 5], [3, 2]])
np.max(arr, axis=1)
Sample Program

This program shows how to find the smallest and largest scores in a set of test results. It finds the overall min and max, then finds min scores per test and max scores per student.

NumPy
import numpy as np

# Create a 2D array of test scores
scores = np.array([[88, 92, 79],
                   [95, 85, 91],
                   [78, 90, 86]])

# Find the minimum score overall
min_score = np.min(scores)

# Find the maximum score overall
max_score = np.max(scores)

# Find minimum score in each test (column)
min_per_test = np.min(scores, axis=0)

# Find maximum score for each student (row)
max_per_student = np.max(scores, axis=1)

print(f"Minimum score overall: {min_score}")
print(f"Maximum score overall: {max_score}")
print(f"Minimum score per test: {min_per_test}")
print(f"Maximum score per student: {max_per_student}")
OutputSuccess
Important Notes

If you don't use axis, np.min() and np.max() look at all values in the array.

Using axis=0 checks down columns, axis=1 checks across rows in 2D arrays.

Summary

np.min() finds the smallest value in data.

np.max() finds the largest value in data.

You can find min or max overall or along rows/columns using axis.

Practice

(1/5)
1. What does the function np.min() do when applied to a NumPy array?
easy
A. Calculates the average of the array
B. Finds the largest value in the array
C. Finds the smallest value in the array
D. Counts the number of elements in the array

Solution

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

    The function np.min() is designed to find the minimum value in a NumPy array.
  2. Step 2: Compare with other options

    Options B, C, and D describe different functions: max, mean, and size respectively, which are not what np.min() does.
  3. Final Answer:

    Finds the smallest value in the array -> Option C
  4. Quick Check:

    np.min() = smallest value [OK]
Hint: np.min() always returns the smallest number [OK]
Common Mistakes:
  • Confusing np.min() with np.max()
  • Thinking np.min() calculates average
  • Assuming np.min() counts elements
2. Which of the following is the correct NumPy function syntax to find the maximum value in a NumPy array named arr?
easy
A. max(arr)
B. np.max(arr)
C. np.maximum(arr)
D. arr.max()

Solution

  1. Step 1: Identify correct function usage

    The function np.max(arr) correctly finds the maximum value in the array arr.
  2. Step 2: Analyze other options

    arr.max() is valid but uses method syntax, not function syntax. np.maximum(arr) is incorrect because np.maximum() compares two arrays element-wise. max(arr) is Python's built-in max, which works on lists but not efficiently on NumPy arrays.
  3. Final Answer:

    np.max(arr) -> Option B
  4. Quick Check:

    np.max(arr) = max value [OK]
Hint: Use np.max(array) to get max value quickly [OK]
Common Mistakes:
  • Using np.maximum() instead of np.max()
  • Confusing method and function syntax
  • Using Python max() on NumPy arrays
3. What is the output of the following code?
import numpy as np
arr = np.array([[3, 7, 2], [5, 1, 9]])
print(np.min(arr, axis=0))
medium
A. [3 1 2]
B. [3 7 2]
C. [5 1 9]
D. [1 2 3]

Solution

  1. Step 1: Understand axis=0 in np.min()

    Using axis=0 means finding the minimum value down each column.
  2. Step 2: Calculate minimum per column

    Column 1: min(3,5) = 3
    Column 2: min(7,1) = 1
    Column 3: min(2,9) = 2
  3. Final Answer:

    [3 1 2] -> Option A
  4. Quick Check:

    np.min(arr, axis=0) = [3 1 2] [OK]
Hint: axis=0 finds min down columns, axis=1 across rows [OK]
Common Mistakes:
  • Mixing axis=0 and axis=1
  • Confusing min with max
  • Expecting a single number instead of array
4. The following code throws an error. What is the problem?
import numpy as np
arr = np.array([4, 8, 6])
print(np.min(arr, axis=1))
medium
A. The array is 1D, axis=1 is invalid
B. np.min() does not accept axis argument
C. np.min() requires a list, not an array
D. The array contains non-numeric values

Solution

  1. Step 1: Check array dimensions

    The array arr is one-dimensional (shape (3,)).
  2. Step 2: Understand axis parameter

    Axis=1 means operate along columns of a 2D or higher array. For 1D arrays, axis=1 is invalid and causes an error.
  3. Final Answer:

    The array is 1D, axis=1 is invalid -> Option A
  4. Quick Check:

    1D array + axis=1 = error [OK]
Hint: Use axis only within array dimension range [OK]
Common Mistakes:
  • Using axis=1 on 1D arrays
  • Thinking np.min() can't take axis
  • Assuming array has non-numeric data
5. Given a 2D NumPy array data representing daily temperatures for a week (rows = days, columns = cities), how would you find the highest temperature recorded in each city?
hard
A. np.max(data, axis=1)
B. np.min(data, axis=1)
C. np.min(data, axis=0)
D. np.max(data, axis=0)

Solution

  1. Step 1: Understand data layout

    Rows represent days, columns represent cities. To find max per city, we want max down each column.
  2. Step 2: Use axis=0 for column-wise operation

    Using np.max(data, axis=0) finds the maximum temperature for each city across all days.
  3. Final Answer:

    np.max(data, axis=0) -> Option D
  4. Quick Check:

    Max per city = np.max(data, axis=0) [OK]
Hint: axis=0 aggregates down columns (cities) [OK]
Common Mistakes:
  • Using axis=1 to find max per city
  • Using np.min() instead of np.max()
  • Confusing rows and columns
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