首页 > 解决方案 > 如何在 Python 的其他时间序列列表中获取插值?

问题描述

我得到了两个时间序列,一个是幅度数据,另一个是噪声数据:

    Time_amplitude    Amplitude_data
0   2021-03-25 23:18:05 199.0
1   2021-03-25 23:28:05 197.0
2   2021-03-25 23:38:05 195.0
3   2021-03-25 23:48:05 192.0
4   2021-03-25 23:58:05 189.0
5   2021-03-26 00:08:05 187.0

    Time_noise        Noise_data
0   2021-03-25 23:23:06 60
1   2021-03-25 23:33:06 53
2   2021-03-25 23:43:06 67
3   2021-03-25 23:53:06 62
4   2021-03-26 00:03:06 61
5   2021-03-26 00:13:06 66

由于测量不是同时进行的,并且在测量幅度数据时我需要精确的噪声数据,我正在寻找一种将它们两者关联起来的方法。目的是使用两个相邻的噪声测量来获得幅度测量时的噪声值。我尝试了以下方法:

model = [np.polyfit(Time_noise[i:i+2], noise[i:i+2], 1)
                   for i in range(len(Time_noise)-2)]

noise_amp_time = [model[i][0]*Time_amplitude[i+1] + model[i][1] 
            for i in range(0,len(Time_amplitude)-3)]

这工作得很好,只要测量时间没有偏移,但两个数据集之间的时间差并不总是相同,索引 i 处的噪声数据并不总是位于索引 i 和 i+1 之间幅度数据(因为它是数据集的第一行,您可以在此处看到)。因此,在感兴趣的时间间隔内,两个系列的数据数量并不完全相同。

知道如何解决吗?

标签: pythonlisttime-seriesinterpolation

解决方案


推荐阅读