Как в dataframe удалить дубликаты строк кроме первого последнего?
В списке, в колонке, несколько фамилий, необходимо удалить все, кроме первой и последней строки каждой фамилии, если такие появляются. Параметр keep не подходит, т.к. удаляет (точнее должен удалять) или все дубликаты или только какой-то (первый или последний). Не могу понять как провернуть такое. Спасибо.
Пример:
время ФИО событие
03:12 Иванов Пётр Вход
05:14 Иванов Пётр Выход
09:18 Иванов Пётр Вход
09:25 Иванов Пётр Выход
03:10 Петров Иван Вход
06:10 Петров Иван Выход
08:10 Петров Иван Выход
13:10 Петров Иван Вход
13:15 Петров Иван Выход
Нужно получить:
время ФИО событие
03:12 Иванов Пётр Вход
09:25 Иванов Пётр Выход
03:10 Петров Иван Вход
13:15 Петров Иван Выход
Строка типа этой не помогает, даже просто дубликаты не удаляются
df.drop_duplicates (subset=['ФИО', 'Событие'], keep=False)
Источник: Stack Overflow на русском