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


Python dask.array.std用法及代碼示例


用法:

dask.array.std(a, axis=None, dtype=None, keepdims=False, ddof=0, split_every=None, out=None)

計算沿指定軸的標準偏差。

此文檔字符串是從 numpy.std 複製的。

可能存在與 Dask 版本的一些不一致之處。

返回數組元素的標準偏差,即分布分布的度量。默認情況下為展平數組計算標準偏差,否則在指定軸上計算。

參數

aarray_like

計算這些值的標準偏差。

axis無或整數或整數元組,可選

計算標準偏差的一個或多個軸。默認是計算展平數組的標準差。

如果這是一個整數元組,則在多個軸上執行標準偏差,而不是像以前那樣在單個軸或所有軸上執行。

dtypedtype,可選

用於計算標準偏差的類型。對於整數類型的數組,默認值為 float64,對於浮點類型的數組,它與數組類型相同。

outndarray,可選

用於放置結果的替代輸出數組。它必須具有與預期輸出相同的形狀,但如有必要,將強製轉換(計算值的)類型。

ddof整數,可選

表示 Delta 自由度。計算中使用的除數是 N - ddof ,其中 N 表示元素的數量。默認情況下 ddof 為零。

keepdims布爾型,可選

如果將其設置為 True,則縮小的軸將作為尺寸為 1 的尺寸留在結果中。使用此選項,結果將針對輸入數組正確廣播。

如果傳遞了默認值,那麽 keepdims 將不會傳遞給 ndarray 的子類的 std 方法,但是任何非默認值都會傳遞。如果 sub-class' 方法未實現 keepdims,則將引發任何異常。

where數組 of bool,可選(在 Dask 中不支持)

要包含在標準偏差中的元素。有關詳細信息,請參閱~numpy.ufunc.reduce

返回

standard_deviationndarray,請參見上麵的 dtype 參數。

如果out 為無,則返回一個包含標準差的新數組,否則返回對輸出數組的引用。

注意

標準偏差是與平均值的平方偏差的平均值的平方根,即 std = sqrt(mean(x)) ,其中 x = abs(a - a.mean())**2

平均平方偏差通常計算為 x.sum() / N ,其中 N = len(x) 。但是,如果指定了ddof,則使用除數N - ddof。在標準統計實踐中,ddof=1 提供了無限總體方差的無偏估計量。 ddof=0 提供正態分布變量的方差的最大似然估計。在此函數中計算的標準偏差是估計方差的平方根,因此即使使用 ddof=1 ,它本身也不是標準偏差的無偏估計。

請注意,對於複數,std 取平方前的絕對值,因此結果始終為實數且非負數。

對於浮點輸入,std使用與輸入相同的精度計算。根據輸入數據,這可能會導致結果不準確,尤其是對於 float32(請參見下麵的示例)。使用 higher-accuracy 累加器指定dtype關鍵字可以緩解這個問題。

例子

>>> a = np.array([[1, 2], [3, 4]])  
>>> np.std(a)  
1.1180339887498949 # may vary
>>> np.std(a, axis=0)  
array([1.,  1.])
>>> np.std(a, axis=1)  
array([0.5,  0.5])

在單精度下,std() 可能不準確:

>>> a = np.zeros((2, 512*512), dtype=np.float32)  
>>> a[0, :] = 1.0  
>>> a[1, :] = 0.1  
>>> np.std(a)  
0.45000005

計算 float64 中的標準偏差更準確:

>>> np.std(a, dtype=np.float64)  
0.44999999925494177 # may vary

指定 where 參數:

>>> a = np.array([[14, 8, 11, 10], [7, 9, 10, 11], [10, 15, 5, 10]])  
>>> np.std(a)  
2.614064523559687 # may vary
>>> np.std(a, where=[[True], [True], [False]])  
2.0

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.std。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。