У меня есть датафрейм (df), который содержит несколько перекрывающихся строк времени. Я хотел бы удалить строку с большей продолжительностью, сохранив строку с меньшей продолжительностью из того же идентификатора. (для уменьшения перекрытия)
starttime endtime ID Diff
1/7/2020 2:32:15 PM 1/7/2020 2:32:16 PM A 1 sec
1/8/2020 2:33:20 PM 1/8/2020 2:33:22 PM B 2 sec
1/9/2020 5:35:00 AM 1/9/2020 5:35:25 AM C 25 sec
1/9/2020 5:35:05 AM 1/9/2020 5:35:25 AM C 20 sec
Я хотел бы получить следующий результат:
starttime endtime ID Diff
1/7/2020 2:32:15 PM 1/7/2020 2:32:16 PM A 1 sec
1/8/2020 2:33:20 PM 1/8/2020 2:33:22 PM B 2 sec
1/9/2020 5:35:05 AM 1/9/2020 5:35:25 AM C 20 sec
Обратите внимание, что первая строка из группы C удалена, поскольку длительность времени была больше, чем Первая строка из группы C.
Это мой код:
import numpy as np
import pandas as pd
subset = df[df['diff'] >= )
df.drop(subset, inplace = True)
Моя дилемма в том, что я не знаю, как правильно написать правильный код для удаления строки с большей продолжительностью. (сохраняя строку с более короткой продолжительностью) Я исследовал это и придумал приведенный выше код. Любая помощь приветствуется.