У меня есть df с дубликатами как таковые:
ID start_time end_time
A 12:00 12:05
A 12:00 12:05
A 12:00 12:05
B 12:10 12:22
B 12:10 12:22
C 12:20 12:25
C 12:20 12:25
Я пытаюсь создать столбец, который сообщает, меньше ли время начала идентификатора, чем время окончания предыдущего идентификатора. Результирующий df должен быть следующим:
ID start_time end_time X
A 12:00 12:05 False
A 12:00 12:05 False
A 12:00 12:05 False
B 12:10 12:22 False
B 12:10 12:22 False
C 12:20 12:25 True
C 12:20 12:25 True
Как видите, ID = C имеет значение true, поскольку его начальное время 12:20 меньше, чем предыдущее конечное время идентификатора 12:22. Полученный df должен сохранять дубликаты из-за уникальных столбцов, не включенных в сферу действия этой проблемы.
Я думаю, что я довольно близок с:
df['x'] = df.drop_duplicates('ID')['start_time'].shift().le(df['end_time'])
Однако результат не ' нести правильный результат через дубликаты.