У меня есть набор данных, который содержит много временных отметок, связанных с различными кораблями и портами.
obj_id timestamp port
0 4 2019-10-01 Houston
1 2 2019-09-01 New York
2 4 2019-07-31 Boston
3 1 2019-07-28 San Francisco
4 2 2019-10-15 Miami
5 1 2019-09-01 Honolulu
6 1 2019-08-01 Tokyo
Я хочу создать фрейм данных, содержащий одну запись для последнего рейса на корабле (obj_id), назначив последнюю метку времени / порт для каждого obj_id в качестве «пункта назначения» и второй последнийметка времени / порт как «источник». Таким образом, конечный результат будет выглядеть примерно так:
obj_id origin_time origin_port destination_time destination_port
0 4 2019-07-31 Boston 2019-10-01 Houston
1 2 2019-09-01 New York 2019-10-15 Miami
3 1 2019-07-28 Tokyo 2019-09-01 Honolulu
Я успешно отфильтровал последние метки времени для каждого obj_id через этот код, но все еще не могу найти способ отфильтровать секунду последняя отметка времени, не говоря уже о том, чтобы вытащить их обоих в один ряд.
df.sort_values(by ='timestamp', ascending = False).drop_duplicates(['obj_id'])