numpy.nanargmax () in Python

NumPy | Python Methods and Functions

numpy.nanargmax (array, axis = None): returns the indices of the max array element on a specific axis, ignoring NaN. 
Results cannot be trusted if the slice contains only NaN and Infs. 
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 program illustrating
# nanargmax () work

 

import numpy as geek 

 
# Working with 1D array

array = [geek.nan, 4 , 2 , 3 , 1 ]

print ( "INPUT ARRAY 1:" , array)

 

array2 = geek.array ([[geek.nan, 4 ], [ 1 , 3 ]])

 
# returns the max element indices
# by indicators that take NaN into account

print ( "Indices of max in array1:" , geek.nanargm ax (array))

 
# Working with 2D array

print ( "INPUT ARRAY 2:" , array2)

print ( "Indices of max in array2:" , geek.nanargmax (array2))

 

print ( "Indices 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 a t axis 1 of array2: [1 1] 

Code 2: Comparison of argmax and nanargmax operation

# Python program illustrating
# nanargmax () work

 

import numpy as geek 

  
# Working with 2D array

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

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

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

[ 3 , 11 , 4 , 12 ]])

print ( "INPUT ARRAY:" , array)

 
# returns the indices of the max element
# by indicators

 
"" "

[[8 13 5 0]

[16 2 5 3]

[10 7 15 15]

[3 11 4 12 ]]

^ ^ ^ ^

 
"" "

  

print ( "Indices of max using argmax:" , geek.argmax (array, axis = 0 ))

prin t ( "Indices 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] 

Links:
https://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.nanargmax.html#numpy. nanargmax

Notes:
These codes will not work for online IDs. Please run them on your systems to see how they work.

This article is courtesy of Mohit Gupta_OMG



Get Solution for free from DataCamp guru