sciPy stats.nanmean() function | Python

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)) 

chevron_right


Output :

Arithmetic Mean using nanmean : 10.333333333333334
Arithmetic Mean without handling nan value : nan

 

Code #2: With multi-dimensional data

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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))  

chevron_right


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       ]



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.