numpy.nanargmax() in Python (original) (raw)

Last Updated : 19 Sep, 2023

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

import numpy as geek

array = ( [[ 8 , 13 , 5 , 0 ],

`` [ 16 , geek.nan, 5 , 3 ],

`` [geek.nan, 7 , 15 , 15 ],

`` [ 3 , 11 , 4 , 12 ]])

print ( "INPUT ARRAY : \n" , array)

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.