python - 按时间戳合并 Pandas 数据帧

标签 python pandas dataframe

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

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

最佳答案

使用merge_asof使用direction='nearest':

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

关于python - 按时间戳合并 Pandas 数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66801447/

相关文章:

python - Django 使用模板标签分割文本字段

python - quantize() 和 str.format() 有什么区别?

python - 了解使用堆从整数流中获取平均值

python - Python 中一个元组中的所有项目

python - 使用 cur.fetch_pandas_all() 从 Snowflake 提取数据时出现非唯一列索引错误

python - 如何编写对 DataFrame 友好的函数

python - 识别 Pandas 对象的IDE

python - Pandas如何添加计数器以在两个数据帧列之间匹配行

python - 如果另一列中的行满足条件则填充 nan

r - 将数据框转换为 xts