sciPy stats.nanmedian() function | Python

scipy.stats.nanmedian(array, axis=0) function calculates the median by ignoring the Nan (not a number) values of the array elements along the specified axis of the array.

Parameters :
array : Input array or object having the elements, including Nan values, to calculate the median.
axis : Axis along which the median is to be computed. By default axis = 0

Returns : median of the array elements (ignoring the Nan values) based on the set parameters.



Code #1:

filter_none

edit
close

play_arrow

link
brightness_4
code

# median 
import scipy
import numpy as np
  
arr1 = [1, 3, np.nan, 27, 2, 5
   
print("median using nanmedian :", scipy.nanmedian(arr1))
  
print("median without handling nan value :", scipy.median(arr1)) 

chevron_right


Output:

median using nanmedian : 3.0
median without handling nan value : nan

 
Code #2: With multi-dimensional data

filter_none

edit
close

play_arrow

link
brightness_4
code

# median 
from scipy import median
from scipy import nanmedian
import numpy as np
  
arr1 = [[1, 3, 27], 
        [3, np.nan, 6], 
        [np.nan, 6, 3], 
        [3, 6, np.nan]] 
   
print("median is :", median(arr1)) 
print("median handling nan :", nanmedian(arr1)) 
  
# using axis = 0
print("\nmedian is with default axis = 0 : \n"
      median(arr1, axis = 0))
print("\nmedian handling nan with default axis = 0 : \n"
      nanmedian(arr1, axis = 0))
  
# using axis = 1
print("\nmedian is with default axis = 1 : \n"
      median(arr1, axis = 1))  
print("\nmedian handling nan with default axis = 1 : \n"
      nanmedian(arr1, axis = 1))  

chevron_right


Output:

median is : nan
median handling nan : 3.0

median is with default axis = 0 : 
 [ nan  nan  nan]

median handling nan with default axis = 0 : 
 [ 3.  6.  6.]

median is with default axis = 1 : 
 [  3.  nan  nan  nan]

median handling nan with default axis = 1 : 
 [ 3.   4.5  4.5  4.5]



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.