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


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


用法:

dask.array.average(a, axis=None, weights=None, returned=False)

計算沿指定軸的加權平均值。

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

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

參數

aarray_like

包含要平均的數據的數組。如果a 不是數組,則嘗試轉換。

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

平均 a 的一個或多個軸。默認值,axis=None,將對輸入數組的所有元素進行平均。如果軸為負數,則從最後一個軸計數到第一個軸。

如果axis是整數元組,則在元組中指定的所有軸上執行平均,而不是像以前那樣在單個軸或所有軸上執行。

weights數組,可選

a 中的值關聯的權重數組。 a 中的每個值都根據其相關權重對平均值做出貢獻。權重數組可以是一維的(在這種情況下,它的長度必須是沿給定軸的 a 的大小)或與 a 的形狀相同。如果 weights=None ,則假設 a 中的所有數據的權重等於 1。一維計算是:

avg = sum(a * weights) / sum(weights)

weights 的唯一約束是 sum(weights) 不能為 0。

returned布爾型,可選

默認為 False 。如果 True ,則返回元組( average , sum_of_weights ),否則僅返回平均值。如果weights=None , sum_of_weights 等於取平均值的元素數。

返回

retval, [sum_of_weights]array_type 或雙

返回沿指定軸的平均值。當 returnedTrue 時,返回一個元組,其中平均值作為第一個元素,權重之和作為第二個元素。 sum_of_weightsretval 的類型相同。結果 dtype 遵循一般模式。如果 weights 為 None,則結果 dtype 將是 a 的,如果 a 是整數,則為 float64。否則,如果 weights 不是 None 並且 a 不是整數,則結果類型將是能夠表示 aweights 的值的最低精度類型。如果 a 恰好是整數,則前麵的規則仍然適用,但結果 dtype 至少為 float64

拋出

零除法錯誤

當沿軸的所有權重為零時。請參閱numpy.ma.average 以了解對此類錯誤具有魯棒性的版本。

TypeError

當一維weights的長度與a沿軸的形狀不同時。

例子

>>> data = np.arange(1, 5)  
>>> data  
array([1, 2, 3, 4])
>>> np.average(data)  
2.5
>>> np.average(np.arange(1, 11), weights=np.arange(10, 0, -1))  
4.0
>>> data = np.arange(6).reshape((3,2))  
>>> data  
array([[0, 1],
       [2, 3],
       [4, 5]])
>>> np.average(data, axis=1, weights=[1./4, 3./4])  
array([0.75, 2.75, 4.75])
>>> np.average(data, weights=[1./4, 3./4])  
Traceback (most recent call last):
    ...
TypeError: Axis must be specified when shapes of a and weights differ.
>>> a = np.ones(5, dtype=np.float128)  
>>> w = np.ones(5, dtype=np.complex64)  
>>> avg = np.average(a, weights=w)  
>>> print(avg.dtype)  
complex256

相關用法


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