numpy:计算某一区域的平均值
有没有办法计算某个bbox内的平均值。困难在于bbox还可能包含浮点值,因此必须对box值的边界进行加权。每个单元格的中心都有整数值(边为x.5) 样本:numpy:计算某一区域的平均值,numpy,scipy,average,Numpy,Scipy,Average,有没有办法计算某个bbox内的平均值。困难在于bbox还可能包含浮点值,因此必须对box值的边界进行加权。每个单元格的中心都有整数值(边为x.5) 样本: [[ 1., 1., 1.], [ 1., 1., 1.], [ 1., 1., 1.]] bbox = minx: -0.5, miny: -0.5, maxx: 1, maxy: 1 values = 1*1 + 0.5*1 + 0.5*1 + 0.25*2 weights = 1 + 0.5 + 0.5 + 0.25 av
[[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.]]
bbox = minx: -0.5, miny: -0.5, maxx: 1, maxy: 1
values = 1*1 + 0.5*1 + 0.5*1 + 0.25*2
weights = 1 + 0.5 + 0.5 + 0.25
average = values / weights = 1.1111...
我不知道如何使用numpy.average来解决这个问题,有什么想法/解决方案吗
非常感谢。我不清楚您的问题,但您似乎希望格式化一个权重数组,并将其与要平均的数据数组一起传递给np.average()函数,例如:
import numpy as np
values = np.array([[1, 1, 1],
[2, 2, 2],
[3, 3, 3]])
valueweights = np.array([[1, 1, 1],
[0.5, 0.5, 0.5],
[0.25, 0.25, 0.25]])
average = np.average(values, weights=valueweights)
我不清楚您的问题,但看起来您希望格式化一个权重数组,并将其与要平均的数据数组一起传递给np.average()函数,例如:
import numpy as np
values = np.array([[1, 1, 1],
[2, 2, 2],
[3, 3, 3]])
valueweights = np.array([[1, 1, 1],
[0.5, 0.5, 0.5],
[0.25, 0.25, 0.25]])
average = np.average(values, weights=valueweights)
你能再详细解释一下吗?例如,第五行中的0.25是从哪里来的?你能更详细地解释一下吗?例如,第五行的0.25从哪里来?