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中计算其他平均值: