本文簡要介紹 python 語言中 numpy.var
的用法。
用法:
numpy.var(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<no value>, *, where=<no value>)
計算沿指定軸的方差。
返回數組元素的方差,即分布分布的度量。默認情況下為展平數組計算方差,否則在指定軸上計算。
- a: array_like
包含需要方差的數字的數組。如果 a 不是數組,則嘗試轉換。
- axis: 無或int 或整數元組,可選
計算方差的一個或多個軸。默認是計算展平數組的方差。
如果這是一個整數元組,則在多個軸上執行方差,而不是像以前那樣在單個軸或所有軸上執行。
- dtype: 數據類型,可選
用於計算方差的類型。對於整數類型的數組,默認值為
float64
;對於浮點類型的數組,它與數組類型相同。- out: ndarray,可選
用於放置結果的備用輸出數組。它必須具有與預期輸出相同的形狀,但如果需要,類型會被強製轉換。
- ddof: 整數,可選
“自由度三角洲”:計算中使用的除數是
N - ddof
,其中N
表示元素的數量。默認ddof為零。- keepdims: 布爾型,可選
如果將其設置為 True,則縮小的軸將作為尺寸為 1 的尺寸留在結果中。使用此選項,結果將針對輸入數組正確廣播。
如果傳遞了默認值,那麽保持昏暗不會被傳遞到
var
子類的方法numpy.ndarray,但是任何非默認值都是。如果sub-class' 方法沒有實現保持昏暗將引發任何異常。- where: 類似於 bool 的數組,可選
要包含在差異中的元素。有關詳細信息,請參閱
reduce
。
- variance: ndarray,見上麵的 dtype 參數
如果
out=None
,則返回一個包含方差的新數組;否則,返回對輸出數組的引用。
參數:
返回:
注意:
方差是與平均值的平方偏差的平均值,即
var = mean(x)
,其中x = abs(a - a.mean())**2
。平均值通常計算為
x.sum() / N
,其中N = len(x)
.然而,如果,ddof被指定,除數N - ddof
改為使用。在標準統計實踐中,ddof=1
提供了假設無限總體方差的無偏估計量。ddof=0
提供正態分布變量的方差的最大似然估計。請注意,對於複數,在平方之前取絕對值,因此結果始終為實數且非負數。
對於浮點輸入,使用與輸入相同的精度計算方差。根據輸入數據,這可能會導致結果不準確,尤其是對於
float32
(參見下麵的示例)。使用dtype
關鍵字指定 higher-accuracy 累加器可以緩解此問題。例子:
>>> a = np.array([[1, 2], [3, 4]]) >>> np.var(a) 1.25 >>> np.var(a, axis=0) array([1., 1.]) >>> np.var(a, axis=1) array([0.25, 0.25])
在單精度下,var() 可能不準確:
>>> a = np.zeros((2, 512*512), dtype=np.float32) >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.var(a) 0.20250003
計算 float64 中的方差更準確:
>>> np.var(a, dtype=np.float64) 0.20249999932944759 # may vary >>> ((1-0.55)**2 + (0.1-0.55)**2)/2 0.2025
指定 where 參數:
>>> a = np.array([[14, 8, 11, 10], [7, 9, 10, 11], [10, 15, 5, 10]]) >>> np.var(a) 6.833333333333333 # may vary >>> np.var(a, where=[[True], [True], [False]]) 4.0
相關用法
- Python numpy vander用法及代碼示例
- Python numpy vdot用法及代碼示例
- Python numpy vstack用法及代碼示例
- Python numpy vectorize用法及代碼示例
- Python numpy vsplit用法及代碼示例
- Python numpy RandomState.standard_exponential用法及代碼示例
- Python numpy hamming用法及代碼示例
- Python numpy legendre.legint用法及代碼示例
- Python numpy chararray.ndim用法及代碼示例
- Python numpy chebyshev.chebsub用法及代碼示例
- Python numpy chararray.nbytes用法及代碼示例
- Python numpy ma.indices用法及代碼示例
- Python numpy matrix.A1用法及代碼示例
- Python numpy MaskedArray.var用法及代碼示例
- Python numpy ma.zeros用法及代碼示例
- Python numpy broadcast用法及代碼示例
- Python numpy matrix.T用法及代碼示例
- Python numpy matrix.I用法及代碼示例
- Python numpy MaskedArray.T用法及代碼示例
- Python numpy hermite.hermfromroots用法及代碼示例
- Python numpy hermite_e.hermediv用法及代碼示例
- Python numpy recarray.dot用法及代碼示例
- Python numpy random.mtrand.RandomState.wald用法及代碼示例
- Python numpy trim_zeros用法及代碼示例
- Python numpy chebyshev.chebdiv用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.var。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。