
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Compare Two Arrays and Return Element-wise Maximum Ignoring NaNs in NumPy
To compare two arrays and return the element-wise maximum ignoring NaNs, use the numpy.fmax() 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 maximum ignoring NaNs, use the numpy.fmax() method in Python Numpy. Return value is either True or False −
print("
Result (maximum ignoring NaNs)...
",np.fmax(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 maximum ignoring NaNs, use the numpy.fmax() method in Python Numpy # Return value is either True or False print("
Result (maximum ignoring NaNs)...
",np.fmax(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 (maximum ignoring NaNs)... [[ 8. 9. nan] [25. 19. 26.]]