【问题标题】:Merge pandas dataframes by timestamps按时间戳合并熊猫数据帧
【发布时间】:2021-06-22 08:49:48
【问题描述】:

我有几个用时间戳索引的 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

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    merge_asofdirection='nearest' 一起使用:

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

    【讨论】:

    • 这可能会奏效 - 问题是如果我有更多数据帧怎么办 - 将它们合并成一个循环?
    • 一个想法是使用this
    • 谢谢@jerazel 你的anwser + 链接的帖子是我需要的完美组合
    猜你喜欢
    • 2016-12-12
    • 2021-11-20
    • 1970-01-01
    • 2017-10-21
    • 2019-06-23
    • 2016-05-05
    • 2015-06-20
    • 2023-01-31
    • 2013-01-08
    相关资源
    最近更新 更多