【发布时间】:2019-04-30 08:59:56
【问题描述】:
假设我有两个数据框,df1 和 df2,如下所示:
df1 = pd.DataFrame({'Timestamp_A': [0.6, 1.1, 1.6, 2.1, 2.6, 3.1, 3.6, 4.1, 4.6, 5.1, 5.6, 6.1, 6.6, 7.1]})
df2 = pd.DataFrame({'Timestamp_B': [2.2, 2.7, 3.2, 3.7, 5.2, 5.7]})
Timestamp_A
0 0.6
1 1.1
2 1.6
3 2.1
4 2.6
5 3.1
6 3.6
7 4.1
8 4.6
9 5.1
10 5.6
11 6.1
12 6.6
13 7.1
Timestamp_B
0 2.2
1 2.7
2 3.2
3 3.7
4 5.2
5 5.7
每个数据帧都是不同传感器读数的输出,并且每个数据帧都以相同的频率传输。我想做的是将这两个数据帧对齐在一起,以使 B 中的每个时间戳与 A 中最接近其值的时间戳对齐。对于 Timestamp_A 中与 Timestamp_B 不匹配的所有值,将它们替换为 np.nan。有没有人对做这样的事情的最佳方法有任何建议?这是所需的输出:
Timestamp_A Timestamp_B
0 0.6 NaN
1 1.1 NaN
2 1.6 NaN
3 2.1 2.2
4 2.6 2.7
5 3.1 3.2
6 3.6 NaN
7 4.1 NaN
8 4.6 NaN
9 5.1 5.2
10 5.6 5.7
11 6.1 NaN
12 6.6 NaN
13 7.1 NaN
【问题讨论】: