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


Python numpy nanstd用法及代碼示例


本文簡要介紹 python 語言中 numpy.nanstd 的用法。

用法:

numpy.nanstd(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>, *, where=<no value>)

計算沿指定軸的標準偏差,同時忽略 NaN。

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

對於all-NaN切片或自由度為零的切片,返回NaN並引發RuntimeWarning。

參數

a array_like

計算非 NaN 值的標準偏差。

axis {int,int 元組,無},可選

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

dtype dtype,可選

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

out ndarray,可選

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

ddof 整數,可選

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

keepdims 布爾型,可選

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

如果該值不是默認值,則它將按原樣傳遞給子類的相關函數。如果這些函數沒有 keepdims kwarg,則會引發RuntimeError。

where 類似於 bool 的數組,可選

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

返回

standard_deviation ndarray,請參見上麵的 dtype 參數。

如果 out 為 None,則返回一個包含標準差的新數組,否則返回對輸出數組的引用。如果 ddof >= 切片中非 NaN 元素的數量或切片僅包含 NaN,則該切片的結果為 NaN。

注意

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

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

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

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

例子

>>> a = np.array([[1, np.nan], [3, 4]])
>>> np.nanstd(a)
1.247219128924647
>>> np.nanstd(a, axis=0)
array([1., 0.])
>>> np.nanstd(a, axis=1)
array([0.,  0.5]) # may vary

相關用法


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