maxframe.tensor.average#
- maxframe.tensor.average(a, axis=None, weights=None, returned=False)[源代码]#
沿指定轴计算加权平均值。
- 参数:
a (array_like) -- 包含要求平均值的数据的张量。如果 a 不是张量,则尝试进行转换。
axis (None or int or tuple of ints, optional) -- 沿指定轴或轴集对 a 求平均值。默认值 axis=None 表示对输入张量的所有元素求平均值。如果 axis 为负数,则从最后一个轴向第一个轴计数。如果 axis 是整数元组,则在元组中指定的所有轴上进行平均,而不是像以前那样在单个轴或所有轴上进行。
weights (array_like, optional) -- 与 a 中值相关联的权重张量。a 中的每个值根据其关联的权重对平均值产生贡献。权重张量可以是一维的(在这种情况下,其长度必须等于 a 在给定轴上的大小),也可以与 a 具有相同的形状。如果 weights=None,则假定 a 中的所有数据都具有相等的权重,即一。
returned (bool, optional) -- 默认值为 False。如果为 True,则返回元组 (average, sum_of_weights),否则仅返回平均值。如果 weights=None,则 sum_of_weights 等效于计算平均值时所涉及的元素数量。
- 返回:
average, [sum_of_weights] -- 返回沿指定轴的平均值。当 returned 为 True 时,返回一个元组,其中平均值为第一个元素,权重之和为第二个元素。如果 a 是整数类型,则返回类型是 Float,否则与 a 类型相同。sum_of_weights 与 average 的类型相同。
- 返回类型:
tensor_type or double
- 抛出:
ZeroDivisionError -- 当沿轴的所有权重都为零时。有关对此类错误具有鲁棒性的版本,请参见 numpy.ma.average。
TypeError -- 当一维 weights 的长度与 a 沿轴的形状不一致时。
参见
示例
>>> import maxframe.tensor as mt
>>> data = list(range(1,5)) >>> data [1, 2, 3, 4] >>> mt.average(data).execute() 2.5 >>> mt.average(range(1,11), weights=range(10,0,-1)).execute() 4.0
>>> data = mt.arange(6).reshape((3,2)) >>> data.execute() array([[0, 1], [2, 3], [4, 5]]) >>> mt.average(data, axis=1, weights=[1./4, 3./4]).execute() array([ 0.75, 2.75, 4.75]) >>> mt.average(data, weights=[1./4, 3./4]).execute() Traceback (most recent call last): ... TypeError: Axis must be specified when shapes of a and weights differ.