我有两个数据帧。df1是具有2列的驱动记录(drinvg start/end)。 df2是带有事故时间的车祸记录。我想做的是从df2获得汽车号码并在df1中搜索。当在df1中找到车号时,检查ACCD时间是否在开始时间和结束时间之间。如果没有,请移到下一行。如果是,则制作ACCD\u TIME列,并像输出一样写下ACCD\u TIME。请帮忙
df1型
START_TIME END_TIME CAR_NUMBER
2019-01-01 8:01 2019-01-01 9:00 A12345
2019-01-02 11:30 2019-01-02 13:00 A12345
2019-01-03 9:30 2019-01-03 10:00 A12345
2019-01-01 9:30 2019-01-01 10:30 B23456
2019-01-02 9:00 2019-01-02 9:17 B23456
2019-01-04 13:00 2019-01-04 14:50 B23456
2019-02-01 16:00 2019-02-01 17:00 C34567
2019-02-05 8:14 2019-02-05 8:30 C34567
2019-02-06 11:00 2019-02-06 11:20 C34567
df2型
ACCD_TIME CAR_NUMBER
2019-01-02 12:00 A12345
2019-02-06 11:10 C34567
输出
START_TIME END_TIME CAR_NUMBER ACCD_TIME
2019-01-01 8:01 2019-01-01 9:00 A12345 NULL
2019-01-02 11:30 2019-01-02 13:00 A12345 2019-01-02 12:00
2019-01-03 9:30 2019-01-03 10:00 A12345 NULL
2019-01-01 9:30 2019-01-01 10:30 B23456 NULL
2019-01-02 9:00 2019-01-02 9:17 B23456 NULL
2019-01-04 13:00 2019-01-04 14:50 B23456 NULL
2019-02-01 16:00 2019-02-01 17:00 C34567 NULL
2019-02-05 8:14 2019-02-05 8:30 C34567 NULL
2019-02-06 11:00 2019-02-06 11:20 C34567 2019-02-06 11:10
使用
pandas.DataFrame.merge
然后pandas.Series.between
和where
:输出:
相关问题 更多 >
编程相关推荐