Open In App

numpy.nanargmax() in Python

Improve
Improve
Like Article
Like
Save
Share
Report

The numpy.nanargmax() function returns indices of the max element of the array in a particular axis ignoring NaNs. 
The results cannot be trusted if a slice contains only NaNs and Infs. 

Syntax: 

numpy.nanargmax(array, axis = None) 

Parameters : 

array : Input array to work on 
axis  : [int, optional]Along a specified axis like 0 or 1

Return :  

Array of indices into the array with same shape as array.shape
 with the dimension along axis removed.

Code 1 :  

Python





Output : 

INPUT ARRAY 1 : 
 [nan, 4, 2, 3, 1]

Indices of max in array1 :  1

INPUT ARRAY 2 : 
 [[ nan   4.]
 [  1.   3.]]

Indices of max in array2 :  1

Indices at axis 1 of array2 :  [1 1]

Code 2: Comparing working of argmax and nanargmax 

Python




# Python Program illustrating
# working of nanargmax()
  
import numpy as geek 
  
# Working on 2D array
array = ( [[ 8, 13, 5, 0],
           [ 16, geek.nan, 5, 3],
           [geek.nan, 7, 15, 15],
           [3, 11, 4, 12]])
print("INPUT ARRAY : \n", array)
  
# returning Indices of the max element
# as per the indices 
  
'''   
   [[ 8 13  5  0]
   [ 16  2  5  3]
   [10  7 15 15]
   [ 3 11  4 12]]
     ^  ^  ^  ^
       
'''
  
print("\nIndices of max using argmax : ", geek.argmax(array, axis = 0))
print("\nIndices of max using nanargmax :  : ", geek.nanargmax(array, axis = 0))


Output : 

INPUT ARRAY : 
 [[8, 13, 5, 0], [16, nan, 5, 3], [nan, 7, 15, 15], [3, 11, 4, 12]]

Indices of max using argmax :  [2 1 2 2]

Indices of max using nanargmax :  :  [1 0 2 2]

Note : 
These codes won’t run on online IDE’s. So please, run them on your systems to explore the working.

 



Last Updated : 19 Sep, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads