我有一些实验数据,用周期性的时间间隔记录数据。如果测量属性的值为0,则不记录相应的时间戳和属性(0)的值。但是,出于分析目的,我需要在其值为0的相应时间将0添加到度量属性数组中。你知道吗
下面这个简单的例子说明了我的问题
loggedTimes = numpy.array([0, 10, 20, 40, 50, 80, 90, 100])
property = numpy.array([1500, 2000, 500, 75, 60, 45, 37, 0])
所有可能的记录时间为:
allTimes = numpy.array([0,10,20,30,40,50,60,70,80,90,100]
因此,在时间30、60和70时,财产的价值为0。因此,我需要在属性数组中的相应位置添加一个0,这样的结果是:
allTimes = numpy.array([0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
propertyCorrected = numpy.array([1500, 2000, 500, 0, 75, 60, 0, 0, 45, 37, 0])
有没有一种不使用循环的聪明方法来做到这一点。这是因为我的实验数据非常大,而且我有多个实验运行,所以循环太慢,特别是当我需要从文本文件重新加载实验数据时。你知道吗
如果有帮助,所有时间和属性值都是整数。你知道吗
谢谢!你知道吗
您也可以使用^{} 来完成相同的任务。你知道吗
虽然粗略地测试了一下性能,但
np.searchsorted
的性能似乎要高得多。你知道吗假设allTimes和loggedTimes数组都已排序,则可以从以下内容开始:
相关问题 更多 >
编程相关推荐