首页 > 解决方案 > python pandas,基于日期和时间合并

问题描述

我正在寻找一种基于日期值合并 2 个表的有效方法。我想从 Table1 中获取一条记录,然后在 table2 中查找在 table1 中的事件发生后 24 小时窗口内发生的所有记录。

例如在下表中:

Event123 from table1 should have 
Event-table2_1 
Event-table2_2 
but not Event-table2_3 

因为它发生在 24 小时后。

table1:
Date - Time - Event
10/10/2018 - 10:00 - Event123

table2
Date - Time - Event
10/10/2018 - 12:00 - Event-table2_1
11/10/2018 - 11:30 - Event-table2_2
11/10/2018 - 12:30 - Event-table2_3
3/8/20018 - 15:00 - Event1234
5/9/20018 - 12:00 - Event12345
1/4/20018 - 13:00 - Event12346

标签: pythonpandas

解决方案


我不确定我是否可以回答自己的问题,还是应该编辑我的问题。所以我找到了一个解决方案,它可能不是最好和最快的,但它可以完成工作。

我创建了 2 个新列,start_date 和 end_date。基于参数 time_delta 我更新了这两列。然后就用了sql语句

table1.to_sql('mo_no_aspekti', conn, index=False)
table1.to_sql('potresi_mag7', conn, index=False)
sql = '''select * from table 1pm, table2 ap WHERE ap.DateTime >= pm.DateTime12_min AND ap.DateTime <= pm.DateTime12_max '''

推荐阅读