我有两个数据帧都包含时间序列数据。两者都有两列,一列是以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'))