计算给定 NumPy 数组的加权平均值
numpyserver side programmingprogramming
加权平均值是一种平均值,其中每个数组元素在计算数据元素的平均值之前将乘以权重因子。每个数据点的权重决定了其对整体平均值的贡献。
计算加权平均值
这用于计算投资组合价值中股票的平均价格。加权平均值的数学公式如下。
weighted_average = (w1 * x1 + w2 * x2 + ... + wn * xn) / (w1 + w2 + ... + wn)
其中,
x1, x2, …..,xn 为给定的数据点
w1, w2, ……, wn 分别为要乘以每个数据点的加权平均值
n 为元素总数
Numpy 数组的加权平均值
在 python 中,Numpy 库提供了 average() 函数来计算给定数组的加权平均值元素。
语法
以下是查找给定数组元素的加权平均值的语法 -
numpy.average(array, weights = weights)
其中,
Array 是输入数组
weights 是在计算平均值之前要与数组元素相乘的权重值。
示例
为了找到给定数组的加权平均值,我们必须将数组和权重作为输入参数传递。在这里,我们传递的是 2D 数组的元素和权重 –
import numpy as np a = np.array([[34,23],[90,34]]) weights = np.array([[2,3],[5,7]]) print("输入数组:",a) print("数组的维度:",np.ndim(a)) avg = np.average(a) print("给定二维数组的平均值:",avg) weg = np.average(a,weights = weights) print("数组的加权平均值:",weg)
输出
输入数组:[[34 23] [90 34]] 数组的维度:2 给定二维数组的平均值二维数组:45.25 数组的加权平均值:48.529411764705884
示例
在下面的例子中,我们尝试计算 1D 数组的加权平均值 –
import numpy as np a = np.array([3,4,2,3,90,34]) weights = np.array([2,3,1,5,7,6]) print("输入数组:",a) print("数组的维度:",np.ndim(a)) avg = np.average(a) print("给定 1-d 数组的平均值:",avg) weg = np.average(a,weights = weights) print("数组的加权平均值:",weg)
输出
输入数组:[ 3 4 2 3 90 34] 数组的维度:1 给定 1-d 数组的平均值数组:22.666666666666668 数组的加权平均值:36.208333333333336
示例
在此示例中,我们使用 average() 函数计算三维数组的加权平均值 –
import numpy as np a = np.array([[[3,4],[2,3]],[[90,34],[78,23]]]) weights = np.array([[[3,4],[2,3]],[[90,34],[78,23]]]) print("输入数组:",a) print("数组的维度:",np.ndim(a)) avg = np.average(a) print("给定三维数组的平均值:",avg) weg = np.average(a,weights = weights) print("数组的加权平均值:",weg)
输出
输入数组:[[[ 3 4] [ 2 3]] [[90 34] [78 23]]] 数组的维度:3 给定三维数组的平均值:29.625 数组的加权平均值:67.11814345991561