我有两个数据帧都包含时间序列数据。两者都有两列,一列是以ms表示的Unix时间,另一列包含一个值。两个数据帧具有不同的采样频率。
数据框架1:

    time [s/1000]     DATA1
0   1558970242000   -0.019531
1   1558970242025   -0.078125
2   1558970242050   -0.058594
3   1558970242075   -0.054688
4   1558970242100   -0.046875
.         .              .
.         .              .
.         .              .

数据框架2:
    time [s/1000]     DATA2
0   1558970242000   -0.054567
1   1558970242050   -0.073567
2   1558970242100   -0.954543
.         .              .
.         .              .
.         .              .

期望输出:
    time [s/1000]      DATA1        DATA2
0   1558970242000   -0.019531     -0.054567      **hold data for 25ms
1   1558970242025   -0.078125     -0.054567
2   1558970242050   -0.058594     -0.073567
3   1558970242075   -0.054688     -0.073567
5   1558970242100   -0.046875     -0.954543
.         .              .            .
.         .              .            .
.         .              .            .

我在想如何实现这一点上有点困难。感谢您的帮助!

最佳答案

重新索引第二个数据帧,使其频率与第一个相同:

df1 = df1.set_index('time [s/1000]')
df2 = df2.set_index('time [s/1000]')
result = df1.join(df2.reindex(df1.index, method='ffill'))

10-07 13:00
查看更多