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


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


用法:

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

計算沿指定軸的方差。

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

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

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

參數

aarray_like

包含需要方差的數字的數組。如果a 不是數組,則嘗試轉換。

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

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

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

dtype數據類型,可選

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

outndarray,可選

用於放置結果的備用輸出數組。它必須具有與預期輸出相同的形狀,但如果需要,類型會被強製轉換。

ddof整數,可選

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

keepdims布爾型,可選

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

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

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

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

返回

variancendarray,見上麵的 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

相關用法


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