numpy.nanargmin() in Python
                                        
                                                                                    
                                                
                                                    Last Updated : 
                                                    08 Mar, 2024
                                                
                                                 
                                                 
                                             
                                                                             
                                                             
                            
                            
                                                                                    
                The numpy.nanargmin() function returns indices of the min 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.nanargmin(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 nanargmin()
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 min element
# as per the indices ingnoring NaN
print("\nIndices of min in array1 : ",
      geek.nanargmin(array))
# Working on 2D array
print("\nINPUT ARRAY 2 : \n", array2)
print("\nIndices of min in array2 : ",
      geek.nanargmin(array2))
print("\nIndices at axis 1 of array2 : ",
      geek.nanargmin(array2, axis = 1))
Output : 
INPUT ARRAY 1 : 
 [nan, 4, 2, 3, 1]
Indices of min in array1 :  4
INPUT ARRAY 2 : 
 [[ nan   4.]
 [  1.   3.]]
Indices of min in array2 :  2
Indices at axis 1 of array2 :  [1 0]
Code 2 : Comparing working of argmin and nanargmin 
            Python
    # Python Program illustrating
# working of nanargmin()
import numpy as geek 
# Working on 2D array
array = ( [[ 8, 13, 5, 0],
           [ geek.nan, geek.nan, 5, 3],
           [10, 7, 15, 15],
           [3, 11, 4, 12]])
print("INPUT ARRAY : \n", array)
# returning Indices of the min element
# as per the indices 
'''   
   [[ 8 13  5  0]
   [ 0  2  5  3]
   [10  7 15 15]
   [ 3 11  4 12]]
     ^  ^  ^  ^
     0  2  4  0  - element
     1  1  3  0  - indices
'''
print("\nIndices of min using argmin : ",
      geek.argmin(array, axis = 0))
print("\nIndices of min using nanargmin :  : ",
      geek.nanargmin(array, axis = 0))
Output : 
INPUT ARRAY : 
 [[ 8 13  5  0]
 [ 0  2  5  3]
 [10  7 15 15]
 [ 3 11  4 12]]
Indices of min element :  [1 1 3 0]
Note : 
These codes won't run on online IDE's. So please, run them on your systems to explore the working.
 
                                
                                
                            
                                                                                
                                                            
                                                    
                                                
                                                        
                            
                        
                                                
                        
                                                                                    
                                                                Explore
                                    
                                        Python Fundamentals
Python Data Structures
Advanced Python
Data Science with Python
Web Development with Python
Python Practice