numpy - average()函数

numpy - average()函数 首页 / Numpy入门教程 / numpy - average()函数

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

语法:

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

参数:

x:array_like

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

axis:int或None或tmple of ints(可选)

此参数定义将沿其计算平均值的轴。默认情况下,该轴设置为"无",它将计算源数组中所有元素的平均值。当轴的值为负时,计数从起点到起点开始。

weights:array_like(可选)

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

returned:bool(可选)

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

链接:https://www.learnfk.comhttps://www.learnfk.com/numpy/numpy-average.html

来源:LearnFk无涯教程网

返回值:

retval,[sum_of_weights]:array_type或double

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

异常:

ZeroDivisionError

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

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的numpy。
  • 我们已经创建了元素列表"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的numpy。
  • 我们已经使用 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.

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

赵成的运维体系管理课 -〔赵成〕

程序员的数学基础课 -〔黄申〕

技术管理案例课 -〔许健〕

跟着高手学复盘 -〔张鹏〕

爆款文案修炼手册 -〔乐剑峰〕

搞定音频技术 -〔冯建元 〕

人人都用得上的数字化思维课 -〔付晓岩〕

大厂设计进阶实战课 -〔小乔〕

徐昊 · AI 时代的软件工程 -〔徐昊〕

好记忆不如烂笔头。留下您的足迹吧 :)