【发布时间】:2020-03-30 22:43:04
【问题描述】:
我在字典中有以毫秒为单位的时间戳(随机递增)的温度数据,如下所示:
{0: 30, 5: 20, 10: 50, 15: 30, 20: 50}
其中0,5,10.... (dict.keys()) 以毫秒为单位表示时间,30,20,50... (dict.values()) 以摄氏度为单位表示温度值,通常约为 1-2 秒的数据(1k-10k 个样本)。
我想将此 dict 转换(上采样)为一个列表,以便我可以对其应用卷积,得到所需的输出:
list=[(combo of 2 closest points weighted by 1-distance to point) for x in range(min_time,max_time,specified_interval)]
每个点都是(value_on_left*(distance_between_left_and_right_values-distance_to_point_from_left) + value_on_right*(distance_between_left_and_right_values-distance_to_point_from_right))/distance_between_left_and_right_values
例如,在这种情况下,间隔为 2 毫秒:list=[30, 26, 22, 26, 38, 50, 42, 34, 34, 42, 50]
这些值并不总是间隔 5 毫秒,它们是随机出现的(这就是为什么它们首先采用 dict 格式)
我如何做到这一点/如何有效地做到这一点?
【问题讨论】:
-
线性插值不是更有意义,即2ms比4ms更接近0ms,所以
temp[2ms] > temp[4ms]? -
线性插值是答案,感谢@QuangHoang
标签: python pandas numpy scipy signal-processing