當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。