Numpy mean() 与 average():有什么区别?


您可以使用np.mean()np.average()函数来计算 Python 中数组的平均值。

这是两个函数之间的细微差别:

  • np.mean始终计算算术平均值。
  • np.average有一个可选的权重参数,可用于计算加权平均值。

以下示例展示了如何在实践中使用每个功能。

示例 1:使用不带权重的 np.mean() 和 np.average()

假设我们在 Python 中有下表,其中包含七个值:

 #create array of values
data = [1, 4, 5, 7, 8, 8, 10]

我们可以使用np.mean()np.average()来计算该数组的平均值:

 import numpy as np

#calculate average value of array
n.p. mean (data)

6.142857142857143

#calculate average value of array
n.p. average (data)

6.142857142857143

两个函数返回完全相同的值。

这两个函数都使用以下公式来计算平均值:

平均值 = (1 + 4 + 5 + 7 + 8 + 8 + 10) / 7 = 6.142857

示例 2:使用带有权重的 np.average()

我们再次假设 Python 中有以下数组,其中包含七个值:

 #create array of values
data = [1, 4, 5, 7, 8, 8, 10]

我们可以使用np.average()通过为权重参数提供值列表来计算该数组的加权平均值:

 import numpy as np

#calculate weighted average of array
n.p. average (data, weights=(.1, .2, .4, .05, .05, .1, .1))

5.45

加权平均值结果为5.45

以下是np.average()用来计算该值的公式:

加权平均值 = 1*.1 + 4*.2 + 5*.4 + 7*.05 + 8*.05 + 8*.1 + 10*.1 = 5.45

请注意,我们无法使用np.mean()来执行此计算,因为该函数没有权重参数。

有关np.mean()np.average()函数的完整说明,请参阅 NumPy 文档。

其他资源

以下教程解释了如何在Python中计算其他平均值:

如何用 Python 计算移动平均线
如何用 Python 计算累积平均值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注