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 = 0Returns : median of the array elements (ignoring the Nan values) based on the set parameters.
Code #1:
# 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)) |
Output:
median using nanmedian : 3.0 median without handling nan value : nan
Code #2: With multi-dimensional data
# 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 )) |
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]