当sensor_2具有不同的大小、不同的时间距离和错过相同的时间点时,如何使用Numpy从sensor_1中减去sensor_1的数据?
x1=np.array([4.1, 5.2, 7.1]) # time points
y1=np.array([6.1, 7.1, 7.9]) # sensor1 data
x2=np.array([1.3, 2.3, 3.4, 4.7, 5.1, 6.3, 7.2]) # time points
y2=np.array([4.9, 5.1, 4.6, 6.1, 7.1, 17.9, 4.2]) # sensor2 data我在x1的范围内寻找y2-y1的差值。丢失的时间点(~6)和x1:y1中较晚的开始使它变得有点困难。
每个数据集的大小约为1M字节。时间点的距离是未知的。这使得重新采样变得困难。
出于遗留原因,最好使用Py2.7解决方案。不过,要小块头熊猫也没问题。
发布于 2021-12-04 10:30:59
对于x1中的点处的y2 - y1,可以做的一件事就是线性插值:
np.interp(x1, x2, y2) - y1发布于 2021-12-04 11:02:35
作为对@tueda的回应。
好观点..。
>>> np.interp(x1, x2, y2)-y1
array([-0.69230769, 0.9 , -2.17777778])似乎需要重采样来处理x1 @ 6.3中的缺失点,以保持尖峰的添加。
>>> np.interp(np.linspace(x1[0], x1[-1], 4), x1, y1)-np.interp(np.linspace(x1[0],x1[-1], 4), x2, y2)
array([ 0.69230769, -0.09090909, -8.62105263, 2.17777778])对我来说足够接近作为解决方案。谢谢你@tueda。
https://stackoverflow.com/questions/70224742
复制相似问题