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


Python numpy.average()用法及代码示例


Python 的 numpy 模块提供了一个名为 numpy.average() 的函数,用于计算沿指定轴的加权平均值。

用法:

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

参数:

x:数组

此参数定义了我们要计算其元素平均值的源数组。如果 'x' 是一个数组,则将尝试转换。

轴:整数或无或整数元组(可选)

此参数定义了将沿其计算平均值的轴。默认情况下,轴设置为无,这将计算源数组所有元素的平均值。当轴的值为负时,从结束轴开始计数到开始轴。

权重:数组(可选)

此参数定义一个包含与数组值关联的权重的数组。数组元素的每个值一起根据其关联的权重进行平均值。加权数组可以是一维的,也可以是与输入数组相同的形状。当没有与数组元素关联的权重时,所有元素的权重将被视为 1。

返回:布尔(可选)

默认情况下,此参数设置为 False。如果我们将其设置为 True,则返回一个由 average 和 sum_of_weights 组成的元组。如果为 False,则返回平均值。如果没有权重值,则加权和等于元素的数量。

返回值:

retval, [sum_of_weights]:array_type 或双倍

此函数返回取决于返回参数的平均值或平均值和 sum_of_weights。

raise :

零分误差

当沿轴的所有权重都设置为零时,会引发此错误。

TypeError

当加权数组的长度与输入数组的形状不同时,会引发此错误。

范例1:

import numpy as np
data = list(range(1,6))
output=np.average(data)
data
output

输出:

[1, 2, 3, 4, 5]
3.0

在上面的代码中:

  • 我们已经导入了别名为 np.
  • 我们创建了一个元素列表 'data'。
  • 我们已经声明了变量 'output' 并赋值了 average() 函数的返回值。
  • 我们已经在函数中传递了列表 'data'。
  • 最后,我们尝试打印 'data' 和 'output'

在输出中,它显示了列表元素的平均值。

范例2:

import numpy as np
output=np.average(range(1,16), weights=range(15,0,-1))
output

输出:

5.666666666666667

范例3:

import numpy as np
data=np.arange(12).reshape((4,3))
output = np.average(data, axis=1, weights=[1./4, 3./4, 5./4])
data 
output

输出:

array([[ 0,  1,  2],
       	[ 3,  4,  5],
       	[ 6,  7,  8],
       	[ 9, 10, 11]])
array([ 1.44444444,  4.44444444,  7.44444444, 10.44444444])

在上面的代码中:

  • 我们已经导入了别名为 np.
  • 我们使用 arange() 和 np.reshape() 函数创建了一个数组 'data'。
  • 我们已经声明了变量 'output' 并赋值了 average() 函数的返回值。
  • 我们在函数中传递了数组'data',设置axis为1,并给数组加权。
  • 最后,我们尝试打印 'data' 和 'output'

在输出中,它显示了数组中每列元素的平均值。

范例4:

import numpy as np
data=np.arange(12).reshape((4,3))
data 
np.average(data, weights=[1./4, 3./4, 5./4])

输出:

array([[ 0,  1,  2],
       	[ 3,  4,  5],
       	[ 6,  7,  8],
       	[ 9, 10, 11]])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\numpy\lib\function_base.py", line 406, in average
    "Axis must be specified when shapes of data and weights."
TypeError:Axis must be specified when shapes of data and weights differ.

注意:输出显示类型错误:'当数据和权重的形状不同时必须指定轴',因为 'weights' 数组的形状与输入数组 'data' 的形状不同。





相关用法


注:本文由纯净天空筛选整理自 numpy.average() in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。