Skip to content
Related Articles

Related Articles

sciPy stats.nanstd() function | Python
  • Last Updated : 11 Feb, 2019
GeeksforGeeks - Summer Carnival Banner

scipy.stats.nanstd(array, axis=0) function calculates the standard deviation 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 standard deviation.
axis : Axis along which the standard deviation is to be computed. By default axis = 0

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

Code #1:






# standard deviation 
import scipy
import numpy as np
  
arr1 = [1, 3, np.nan, 27
   
print("standard deviation using nanstd :", scipy.nanstd(arr1))
  
print("standard deviation without handling nan value :", scipy.std(arr1)) 

Output :

standard deviation using nanstd : 11.813363431112899
standard deviation without handling nan value : nan

Code #2: With multi-dimensional data




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

Output :

standard deviation is : nan
standard deviation handling nan : 7.455216087651669

standard deviation is with default axis =0 : 
 [nan nan nan]

standard deviation handling nan with default axis =0 : 
 [ 0.94280904  1.41421356 10.67707825]

standard deviation is with default axis =1 : 
 [11.81336343         nan         nan         nan]

standard deviation handling nan with default axis =1 : 
 [11.81336343  1.5         1.5         1.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
Recommended Articles
Page :