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       ]

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.




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.