【发布时间】:2020-07-17 10:09:33
【问题描述】:
假设我有array = [values, weights]形式的输入数据
arr1 = [np.array([1,2,3,4]), np.array([1,1,1,1])]
arr2 = [np.array([2,4,6,8]), np.array([2,2,2,2])]
以及我想构建成对的 values 和 weights 有序条目,然后计算平均值(我希望从下面的尝试中可以清楚地看出这一点)。
这是我想出的,但感觉有一种更清洁的方法可以实现结果:
listArrs = [arr1, arr2]
vals = np.array([c[0] for c in listArrs]).T
weights = np.array([c[1] for c in listArrs]).T
[np.average(v,weights=w) for v,w in zip(vals, weights)]
Out: [1.6666666666666667, 3.3333333333333335, 5.0, 6.666666666666667]
【问题讨论】:
-
据我所知,看来您实际上在进行平均非常有效。
-
您是否尝试计算 values 数组的加权平均值?还是两个数字的平均值
[val, weight]?
标签: python numpy average weighted