Мой вопрос относится к другому вопросу, который я задал здесь , но отличается, поскольку речь идет о двух столбцах.
У меня есть pandas фрейм данных для нескольких групп (транспортных средств) время отправления и прибытия в указанный c день. Эти времена хранятся в виде строк, так что, например, «2330» соответствует 23:30 и «30» - 0:30. Эти моменты времени упорядочены в хронологическом порядке, но иногда могут пересекать линию полуночи. Я хочу указать эти моменты на 1 в новом столбце. В частности, я думаю, что мне нужно проверять (1) для каждого времени отправления, является ли оно «более ранним», чем время прибытия предыдущей записи (это означает, что отправление должно быть в новый день) и (2) для каждого времени прибытия является ли он более ранним, чем время отправления текущей записи (это означает, что прибытие должно быть в новый день).
Пример:
df = pd.DataFrame.{'group' : ["A","A","A","B","B","B"],
'departure' : [2030, 2300, 200, 1930, 200, 300],
'arrival' : [2130, 30, 230, 100, 230, 400]})
Выход
group departure arrival
0 A 2030 2130
1 A 2300 30
2 A 200 230
3 B 1930 100
4 B 200 230
5 B 300 400
Желаемый результат:
group departure arrival dep_new arr_new
0 A 2030 2130 0 0
1 A 2300 30 0 1
2 A 200 230 1 1
3 B 1930 100 0 1
4 B 200 230 1 1
5 B 300 400 1 1
Применение ответа на мой предыдущий вопрос путем сравнения текущего прибытия с предыдущим прибытием и текущего вылета с предыдущим отправлением, вероятно, не будет работать, потому что есть некоторые угловые случаи, которые не будут правильно обрабатываться с помощью этого подхода.
Надеюсь, вы можете помочь!