Compare two Numpy arrays and return the element-wise minimum ignoring NaNs


To compare two arrays and return the element-wise minimum ignoring NaNs, use the numpy.fmin() method in Python Numpy. Return value is either True or False.

Compare two arrays and returns a new array containing the element-wise maxima. If one of the elements being compared is a NaN, then the non-nan element is returned. If both elements are NaNs then the first is returned. The latter distinction is important for complex NaNs, which are defined as at least one of the real or imaginary parts being a NaN. The net effect is that NaNs are ignored when possible.

Steps

At first, import the required library −

import numpy as np

Creating two 2D numpy array using the array() method. We have inserted elements with some NaN values −

arr1 = np.array([[6, 9, np.NaN],[25, 11, 21]])
arr2 = np.array([[8, np.NaN, np.NaN],[22, 19, 26]])

Display the arrays −

print("Array 1...
", arr1) print("
Array 2...
", arr2)

Get the type of the arrays −

print("
Our Array 1 type...
", arr1.dtype) print("
Our Array 2 type...
", arr2.dtype)

Get the dimensions of the Arrays −

print("
Our Array 1 Dimensions...
",arr1.ndim) print("
Our Array 2 Dimensions...
",arr2.ndim)

Get the shape of the Arrays −

print("
Our Array 1 Shape...
",arr1.shape) print("
Our Array 2 Shape...
",arr2.shape)

To compare two arrays and return the element-wise minimum ignoring NaNs, use the numpy.fmin() method in Python Numpy. Return value is either True or False −

print("
Result (minimum ignoring NaNs)...
",np.fmin(arr1, arr2))

Example

import numpy as np

# Creating two 2D numpy array using the array() method
# We have inserted elements with some NaN values
arr1 = np.array([[6, 9, np.NaN],[25, 11, 21]])
arr2 = np.array([[8, np.NaN, np.NaN],[22, 19, 26]])

# Display the arrays
print("Array 1...
", arr1) print("
Array 2...
", arr2) # Get the type of the arrays print("
Our Array 1 type...
", arr1.dtype) print("
Our Array 2 type...
", arr2.dtype) # Get the dimensions of the Arrays print("
Our Array 1 Dimensions...
",arr1.ndim) print("
Our Array 2 Dimensions...
",arr2.ndim) # Get the shape of the Arrays print("
Our Array 1 Shape...
",arr1.shape) print("
Our Array 2 Shape...
",arr2.shape) # To compare two arrays and return the element-wise minimum ignoring NaNs, use the numpy.fmin() method in Python Numpy # Return value is either True or False print("
Result (minimum ignoring NaNs)...
",np.fmin(arr1, arr2))

Output

Array 1...
[[ 6. 9. nan]
[25. 11. 21.]]

Array 2...
[[ 8. nan nan]
[22. 19. 26.]]

Our Array 1 type...
float64

Our Array 2 type...
float64

Our Array 1 Dimensions...
2

Our Array 2 Dimensions...
2

Our Array 1 Shape...
(2, 3)

Our Array 2 Shape...
(2, 3)

Result (minimum ignoring NaNs)...
[[ 6. 9. nan]
[22. 11. 21.]]

Updated on: 07-Feb-2022

282 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements