scipy.stats.nanmean(array, axis=0)
function calculates the arithmetic mean by ignoring the Nan (not a number) values of the array elements along the specified axis of the array.
It’s formula –
Parameters :
array : Input array or object having the elements, including Nan values, to calculate the arithmetic mean.
axis : Axis along which the mean is to be computed. By default axis = 0.Returns : Arithmetic mean of the array elements (ignoring the Nan values) based on the set parameters.
Code #1:
# Arithmetic Mean import scipy import numpy as np arr1 = [ 1 , 3 , np.nan, 27 ] print ( "Arithmetic Mean using nanmean :" , scipy.nanmean(arr1)) print ( "Arithmetic Mean without handling nan value :" , scipy.mean(arr1)) |
Output :
Arithmetic Mean using nanmean : 10.333333333333334 Arithmetic Mean without handling nan value : nan
Code #2: With multi-dimensional data
# Arithmetic Mean from scipy import mean from scipy import nanmean import numpy as np arr1 = [[ 1 , 3 , 27 ], [ 3 , np.nan, 6 ], [np.nan, 6 , 3 ], [ 3 , 6 , np.nan]] print ( "Arithmetic Mean is :" , mean(arr1)) print ( "Arithmetic Mean handling nan :" , nanmean(arr1)) # using axis = 0 print ( "\nArithmetic Mean is with default axis = 0 : \n" , mean(arr1, axis = 0 )) print ( "\nArithmetic Mean handling nan with default axis = 0 : \n" , nanmean(arr1, axis = 0 )) # using axis = 1 print ( "\nArithmetic Mean is with default axis = 1 : \n" , mean(arr1, axis = 1 )) print ( "\nArithmetic Mean handling nan with default axis = 1 : \n" , nanmean(arr1, axis = 1 )) |
Output :
Arithmetic Mean is : nan Arithmetic Mean handling nan : 6.444444444444445 Arithmetic Mean is with default axis =0 : [nan nan nan] Arithmetic Mean handling nan with default axis =0 : [ 2.33333333 5. 12. ] Arithmetic Mean is with default axis =1 : [10.33333333 nan nan nan] Arithmetic Mean handling nan with default axis =1 : [10.33333333 4.5 4.5 4.5 ]