当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Scipy stats.nanstd()用法及代码示例


scipy.stats.nanstd(array, axis=0)函数通过忽略沿数组指定轴的数组元素的Nan(不是数字)值来计算标准差。

它的公式-

参数:
array : 具有元素(包括Nan值)的输入数组或对象,以计算标准偏差。
axis :沿其计算标准偏差的轴。默认情况下轴= 0


返回值:基于设置参数的数组元素的标准偏差(忽略Nan值)。

代码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)) 

输出:

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

代码2:使用多维数据

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

输出:

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       ]


相关用法


注:本文由纯净天空筛选整理自vishal3096大神的英文原创作品 sciPy stats.nanstd() function | Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。