numpy.max() in Python

What is numpy.max()?

NumPy's max() function is used to find the maximum value in an array. It is useful when working with datasets where you need to determine the highest value within a given set of numbers.

The numpy.max() function scans through the array and returns the largest value. It can operate on the entire array or along a specific axis, making it useful for multi-dimensional data analysis.

Syntax of numpy.max()

python
1
numpy.max(array, axis=None, out=None, keepdims=False, initial=None, where=True)

Parameters of numpy.max()

  • array: The input array from which the maximum value is extracted.
  • axis: The axis along which to find the maximum. If None, it considers the entire array.
  • out: A location into which the result is stored.
  • keepdims: If True, retains reduced dimensions.
  • initial: The minimum value considered when searching for the maximum.
  • where: Specifies which elements to include in the calculation.

Return Type of numpy.max()

The function returns the maximum value from the given array or along a specified axis.

Example 1: max() With 1D Array

Problem Statement

Find the maximum value in a one-dimensional array.

Steps to Solve

  • Create a 1D NumPy array.
  • Apply numpy.max() to get the highest value.
  • Print the result.
python
1
2
3
4
import numpy as np
arr = np.array([10, 50, 30, 80, 60])
max_value = np.max(arr)
print(max_value)

Code Explanation

  • We created an array [10, 50, 30, 80, 60].
  • np.max(arr) returns the highest value, 80.

Example 2: Store the max Result in Specific Location

Problem Statement

Find the maximum value and store it in a predefined output variable.

Steps to Solve

  • Define an array with numerical values.
  • Create an output storage variable.
  • Use numpy.max() with the out parameter to store the result.
  • Print the output variable.
python
1
2
3
4
5
import numpy as np
arr = np.array([2, 7, 1, 9, 3])
out_var = np.zeros(1)  # Predefine an output variable
np.max(arr, out=out_var)
print(out_var)

Code Explanation

  • We initialize an array [2, 7, 1, 9, 3].
  • out_var = np.zeros(1) prepares a storage location.
  • np.max(arr, out=out_var) finds the maximum and stores it in out_var, which is printed.

Example 3: max() With keepdims

Problem Statement

Find the maximum value in a 2D array while preserving dimensions.

Steps to Solve

  • Create a 2D array.
  • Use numpy.max() with the keepdims=True parameter.
  • Print the result to verify dimensions remain unchanged.
python
1
2
3
4
import numpy as np
arr = np.array([[1, 5, 7], [2, 8, 6]])
max_value = np.max(arr, keepdims=True)
print(max_value)

Code Explanation

  • The input is a 2D array [[1, 5, 7], [2, 8, 6]].
  • Using keepdims=True, the output remains in 2D format.
  • The highest value, 8, is returned as a 2D array.

Example 4: max() With initial

Problem Statement

Use the initial parameter to define a lower bound when computing the maximum.

Steps to Solve

  • Define a NumPy array.
  • Use numpy.max() with the initial parameter.
  • Print the maximum value considering the initial bound.
python
1
2
3
4
import numpy as np
arr = np.array([4, 9, 2, 10])
max_value = np.max(arr, initial=5)
print(max_value)

Code Explanation

  • The array [4, 9, 2, 10] is used.
  • The initial=5 ensures values below 5 are ignored.
  • The maximum value is 10 since it is greater than 5.

Example 5: max() with where

Problem Statement

Find the maximum value in an array based on a conditional selection.

Steps to Solve

  • Create an array of numbers.
  • Use numpy.max() with the where condition.
  • Print the maximum satisfying the condition.
python
1
2
3
4
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
max_value = np.max(arr, where=(arr < 40))
print(max_value)

Code Explanation

  • The input array [10, 20, 30, 40, 50] is defined.
  • The condition where=(arr < 40) filters values below 40.
  • The maximum value among [10, 20, 30] is 30.

Difference Between NumPy's max() and maximum()

  • numpy.max() finds the maximum value from an entire array or along an axis.
  • numpy.maximum() compares two arrays element-wise and returns the maximum from each pair.

Example

python
1
2
3
4
5
import numpy as np
arr1 = np.array([1, 4, 7])
arr2 = np.array([2, 3, 6])
result = np.maximum(arr1, arr2)
print(result)

Explanation

  • It compares elements [1, 4, 7] and [2, 3, 6].
  • The result is [2, 4, 7], selecting the maximum from each pair.

NumPy provides various functions to find maximum values in an array. While numpy.max() is the most common, it has specialized alternatives like numpy.amax(), numpy.fmax(), and numpy.nanmax(). These functions handle different scenarios, such as ignoring NaN values or performing element-wise comparisons. Let's explore each in detail.

What is numpy.amax()?

numpy.amax() is an alias for numpy.max(). It finds the maximum value in an array. This function is useful when you need to determine the highest value from an array, either across the whole array or along a specific axis. It works the same as numpy.max(), taking an input array and returning its maximum value.

Example of numpy.amax()

Problem Statement

Find the maximum value in a given NumPy array.

Steps to Solve

  • Import the NumPy library.
  • Create a NumPy array with numerical values.
  • Use np.amax() to find the maximum value in the array.
  • Print the result.
python
1
2
3
4
5
6
7
8
9
import numpy as np

# Creating a NumPy array
arr = np.array([1, 2, 3, 4, 5])

# Finding the maximum value using np.amax()
max_value = np.amax(arr)

print(max_value)

Code Explanation

  • np.array([1, 2, 3, 4, 5]): Creates a NumPy array.
  • np.amax(arr): Returns the maximum value, which is 5.
  • The output is printed: 5.

What is numpy.fmax()?

numpy.fmax() is a function that performs an element-wise maximum comparison between two arrays, but ignores NaN values. When working with datasets that contain NaN (Not a Number) values, numpy.maximum() may return NaN, whereas numpy.fmax() ignores NaNs and picks the other valid number. It takes two arrays as input and returns a new array with element-wise maximum values, skipping NaN where possible.

Example of numpy.fmax()

Problem Statement

Compare two arrays element-wise and return the maximum values, while ignoring NaN values.

Steps to Solve

  • Import the NumPy library.
  • Create two NumPy arrays with numbers and NaN values.
  • Use np.fmax() to compare them element-wise.
  • Print the result.
python
1
2
3
4
5
6
7
8
9
10
import numpy as np

# Creating two NumPy arrays with NaN values
arr1 = np.array([1, np.nan, 3])
arr2 = np.array([4, 2, np.nan])

# Using fmax to compare element-wise
max_result = np.fmax(arr1, arr2)

print(max_result)

Code Explanation

  • arr1 and arr2 contain numerical values and NaN.
  • np.fmax(arr1, arr2): Compares the arrays element-wise.
    • Ignores NaN and selects the valid number.
  • Output: [4, 2, 3].

What is numpy.nanmax()?

numpy.nanmax() is similar to numpy.max(), but it ignores NaN values when computing the maximum.

If you use numpy.max() on an array with NaN values, the result will be NaN. numpy.nanmax() ensures that NaN values do not interfere with finding the actual maximum value. It scans through the array, skips NaN values, and returns the maximum numerical value.

Example of numpy.nanmax()

Problem Statement

Find the maximum value in an array that contains NaN values.

Steps to Solve

  • Import the NumPy library.
  • Create a NumPy array with numbers and NaN.
  • Use np.nanmax() to compute the maximum while ignoring NaN.
  • Print the result.
python
1
2
3
4
5
6
7
8
9
import numpy as np

# Creating a NumPy array with NaN values
arr = np.array([1, 2, np.nan, 4])

# Finding the max value while ignoring NaNs
max_value = np.nanmax(arr)

print(max_value)

Code Explanation

  • np.array([1, 2, np.nan, 4]): Creates an array with NaN.
  • np.nanmax(arr): Computes the maximum while ignoring NaN.
  • Output: 4.

Alternatives for numpy.max()

When working with NumPy, different functions can be used instead of numpy.max() depending on the use case.

1. numpy.maximum()

  • It performs element-wise maximum comparison between two arrays.

Example of numpy.maximum()

python
1
2
3
4
5
6
7
8
import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([3, 1, 2])

result = np.maximum(arr1, arr2)

print(result)

Explanation

  • Compares corresponding elements in arr1 and arr2.
  • Returns [3, 2, 3].

2. numpy.fmax()

  • Use it when working with NaNs, as it ignores them.

3. numpy.nanmax()

  • Use it when your dataset contains NaNs, as it skips NaN values when finding the max.

Summary

  • numpy.amax() is an alias for numpy.max(), used for finding the maximum value.
  • numpy.fmax() is useful for element-wise comparison, ignoring NaN values.
  • numpy.nanmax() is ideal for datasets with NaN values, ensuring NaN doesn’t interfere.
  • Alternatives include numpy.maximum(), numpy.fmax(), and numpy.nanmax(), each serving a different purpose.

Frequently Asked Questions