【问题标题】:Pandas Merge two databases with not matching time seriesPandas 合并两个时间序列不匹配的数据库
【发布时间】:2021-08-20 15:41:15
【问题描述】:

尝试在 Python 中合并 2 个 DB,具有一个时间范围,但时间值不同。 С = pd.merge_asof(A, B, on='time') 给 TypeError:找不到匹配的签名

一个

time counter0 counter1
2021-05-27 19:09:00 0.0172 0.0207
2021-05-27 19:09:15 0.0483 0.0517
2021-05-27 19:09:30 0.0621 0.0655
2021-05-27 19:09:45 0.0897 0.0931
2021-05-27 19:10:15 0.155 0.155

B

time rate C D
2021-05-27 19:09:13 1 1
2021-05-27 19:09:13 0 2 2
2021-05-27 19:09:14 0.42 2 3
2021-05-27 19:09:14 0 3 4
2021-05-27 19:09:15 0.4 5
2021-05-27 19:10:05 0.1 2 3

我希望 C 看起来像:

C

time counter0 counter1 rate C D
2021-05-27 19:09:00 0.0172 0.0207 N/A N/A N/A
2021-05-27 19:09:13 N/A N/A N/A 1 1
2021-05-27 19:09:13 N/A N/A 0 2 2
2021-05-27 19:09:14 N/A N/A 0.42 2 3
2021-05-27 19:09:14 N/A N/A 0 3 4
2021-05-27 19:09:15 0.0483 0.0517 0.4 N/A 5
2021-05-27 19:09:30 0.0621 0.0655 N/A N/A N/A
2021-05-27 19:09:45 0.0897 0.0931 N/A N/A N/A
2021-05-27 19:10:05 N/A N/A 0.1 2 3
2021-05-27 19:10:15 0.155 0.155 N/A N/A N/A

【问题讨论】:

    标签: python pandas database dataframe csv


    【解决方案1】:

    您在寻找外连接吗?

    c = a.merge(b, on='time', how='outer').sort_values('time')
    
                     time  counter0  counter1  rate    C    D
    0 2021-05-27 19:09:00    0.0172    0.0207   NaN  NaN  NaN
    5 2021-05-27 19:09:13       NaN       NaN   NaN  1.0  1.0
    6 2021-05-27 19:09:13       NaN       NaN  0.00  2.0  2.0
    7 2021-05-27 19:09:14       NaN       NaN  0.42  2.0  3.0
    8 2021-05-27 19:09:14       NaN       NaN  0.00  3.0  4.0
    1 2021-05-27 19:09:15    0.0483    0.0517  0.40  NaN  5.0
    2 2021-05-27 19:09:30    0.0621    0.0655   NaN  NaN  NaN
    3 2021-05-27 19:09:45    0.0897    0.0931   NaN  NaN  NaN
    9 2021-05-27 19:10:05       NaN       NaN  0.10  2.0  3.0
    4 2021-05-27 19:10:15    0.1550    0.1550   NaN  NaN  NaN
    

    【讨论】:

    • 哦,很简单,谢谢你,先生,非常感谢,你拯救了我的一天!
    猜你喜欢
    • 1970-01-01
    • 2017-05-23
    • 2016-03-02
    • 2022-01-27
    • 2022-11-27
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    • 2017-01-20
    相关资源
    最近更新 更多