python pandas,根据日期和时间合并

时间:2018-06-11 08:59:28

标签: python pandas

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

例如在下表中:

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

1 个答案:

答案 0 :(得分:0)

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

我创建了两个新列,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 '''