Compare two arrays with some NaN values and return the element-wise minimum in Numpy


To compare two arrays with some NaN values and return the element-wise minimum, use the numpy.maximum() method in Python Numpy

  • If one of the elements being compared is a NaN, then that 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 propagated.

Returns the minimum of x1 and x2, element-wise. This is a scalar if both x1 and x2 are scalars.

Compare two arrays and returns a new array containing the element-wise minima. If one of the elements being compared is a NaN, then that 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 propagated.

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, np.nan, np.nan],[25, 11, 0]])
arr2 = np.array([[8, 12, np.nan],[22, 0, 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 with some NaN values and return the element-wise minimum, use the numpy.maximum() method −

print("
Result (minimum)...
",np.minimum(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, np.nan, np.nan], [25, 11, 0]])
arr2 = np.array([[8, 12, np.nan],[22, 0, 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 with some NaN values and return the elementwise minimum, use the numpy.maximum() method in Python Numpy # If one of the elements being compared is a NaN, then that 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 propagated. print("
Result (minimum)...
",np.minimum(arr1, arr2))

Output

Array 1...
[[ 6. nan nan]
[25. 11. 0.]]

Array 2...
[[ 8. 12. nan]
[22. 0. 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)...
[[ 6. nan nan]
[22. 0. 0.]]

Updated on: 07-Feb-2022

401 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements