Open In App

numpy.nanargmax() in Python

Last Updated : 19 Sep, 2023
Suggest changes
Share
Like Article
Like
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
# Python Program illustrating # working of nanargmax() import numpy as geek # Working on 1D array array = [geek.nan, 4, 2, 3, 1] print("INPUT ARRAY 1 : \n", array) array2 = geek.array([[geek.nan, 4], [1, 3]]) # returning Indices of the max element # as per the indices ingnoring NaN print("\nIndices of max in array1 : ", geek.nanargmax(array)) # Working on 2D array print("\nINPUT ARRAY 2 : \n", array2) print("\nIndices of max in array2 : ", geek.nanargmax(array2)) print("\nIndices at axis 1 of array2 : ", geek.nanargmax(array2, axis = 1)) 

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.

 


Similar Reads