我有两个数字数组。我想将它们组合成一个数组,并对一个范围内彼此接近的数字求平均。
以前,彼此接近的数字是四个一组,如下所示。我已经添加了两个数组,并对数字进行了排序。然后,我取了累加和,并使用了以下代码。效果很好。
y1=np.array([1697.3, 5830.3 , 4005.9, 5804.5, 1686.2, 4002.4])
y2=np.array([1695.3, 5817.7, 4009.5 , 5817.9, 1690.4, 3993.9])
all_ys=np.append(y1,y2)
all_ys.sort()
AvgDist = np.cumsum(all_ys, 0)[3::4]/float(4)
AvgDist[1:] = AvgDist[1:] - AvgDist[:-1]
AvgDist
Out[3]: array([1692.3 , 4002.8 , 5817.525])
但是,我刚刚意识到并不是所有的时间都是四位一组。例如,我有以下两个数组
y1=np.array([2823.8, 2818.9, 5231.5])
y2=np.array([2820.7, 2808.7, 5356.3])
我想要以下结果:
AvgDist
array([2818.025, 5293.9])