首页 > 解决方案 > 按时间戳合并熊猫数据帧

问题描述

我有一些用时间戳索引的熊猫数据帧,我想将它们合并到一个数据帧中,匹配最近的时间戳。所以我想有例如:

a = 
                         CPU
2021-03-25 13:40:44.208  70.571797
2021-03-25 13:40:44.723  14.126870
2021-03-25 13:40:45.228  17.182844

b = 
                          X   Y
2021-03-25 13:40:44.193   45  1
2021-03-25 13:40:44.707   46  1
2021-03-25 13:40:45.216   50  2

a + b =
                         CPU       X   Y
2021-03-25 13:40:44.208  70.571797 45  1
2021-03-25 13:40:44.723  14.126870 46  1
2021-03-25 13:40:45.228  17.182844 50  2

最终 DataFrame 中的确切时间戳对我来说并不重要。

顺便提一句。有没有一种简单的方法可以将“绝对”时间戳转换为从开始的时间(以秒或毫秒为单位)?所以对于这个例子:


     CPU       X   Y
0.0  70.571797 45  1
0.5  14.126870 46  1
1.0  17.182844 50  2

标签: pythonpandasdataframe

解决方案


merge_asof与 一起使用direction='nearest'

pd.merge_asof(df1, df2, left_index=True, right_index=True, direction='nearest')

推荐阅读