当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。