Я пытаюсь назначить соответствующее расписание и номер поездки для каждого пакета GPS на основе отметки времени GPS.Как я могу сделать это эффективно, поскольку у меня есть почти миллион GPS-пакетов от различных устройств?
Я не нашел оптимального способа.Сейчас я запускаю цикл по всем строкам и сравниваю его отметку времени со всеми интервалами в расписании, не направляю таблицу и прикрепляю соответствующие номера расписаний к каждому GPS-пакетам.
Кадр данных GPS:
import pandas as pd
gps_df = pd.DataFrame({'Device':[1,1,2,2,3,3,3],'time-stamp': ['6:00:00','7:00:30','12:12:12','13:13:13','20:15:10','22:16:10','22:18:23']})
Расписание данных фрейма: \ n
schedule_df = pd.DataFrame({'Device' :[1, 1, 1, 1, 2, 2, 2, 3,3, 3],
'schedule' :['A1','A1','A2','A2','B1','B2','B2','C1','C2','C3'],
'route no' :[1, 2, 1, 2, 1, 5, 6, 1, 1, 2],
'start time' : ['6:00:00','7:00:01','8:30:00','10:00:00','12:00:00','14:00:00','16:00:00','20:00:00','21:00:00','22:00:00'],
'end time' :['7:00:00','8:30:00','9:30:00','12:00:00','13:00:00','16:00:00','20:00:00','21:00:00','22:00:00','23:00:00']})
Я хотел бы получить вывод, подобный этому:
gps_df = pd.DataFrame({'Device':[1,1,2,2,3,3,3],
'time-stamp':['6:00:00','7:00:30','12:12:12','13:13:13','20:15:10','22:16:10','22:18:23'],
'schedule': ['A1','A1','B1','Na','C1','C3','C3'],
'route': [1, 2, 1, 'Na',1, 2, 2]})