首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何使用Numpy从sensor_2中减去sensor_1的数据,而sensor_1具有不同的大小并错过相同的时间点?

我如何使用Numpy从sensor_2中减去sensor_1的数据,而sensor_1具有不同的大小并错过相同的时间点?
EN

Stack Overflow用户
提问于 2021-12-04 10:17:08
回答 2查看 28关注 0票数 0

当sensor_2具有不同的大小、不同的时间距离和错过相同的时间点时,如何使用Numpy从sensor_1中减去sensor_1的数据?

代码语言:javascript
复制
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解决方案。不过,要小块头熊猫也没问题。

EN

回答 2

Stack Overflow用户

发布于 2021-12-04 10:30:59

对于x1中的点处的y2 - y1,可以做的一件事就是线性插值:

代码语言:javascript
复制
np.interp(x1, x2, y2) - y1
票数 1
EN

Stack Overflow用户

发布于 2021-12-04 11:02:35

作为对@tueda的回应。

好观点..。

代码语言:javascript
复制
>>> np.interp(x1, x2, y2)-y1
array([-0.69230769,  0.9       , -2.17777778])

似乎需要重采样来处理x1 @ 6.3中的缺失点,以保持尖峰的添加。

代码语言:javascript
复制
>>> 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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70224742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档