Оставить последнюю запись по ключу
Вопрос
В таблице несколько версий профиля пользователя с колонкой updated_at. Как оставить по одной, самой свежей версии на user_id?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
df.drop_duplicates("user_id", keep="last", ignore_index=True)df.groupby("user_id").first().reset_index()df.sort_values("updated_at").drop_duplicates(keep="last")df.sort_values("updated_at").drop_duplicates("user_id", keep="last")правильный ответ
Разбор
Сначала сортируем по времени, затем оставляем последнее вхождение каждого ключа. Без сортировки drop_duplicates("user_id", keep="last") оставит последнюю по порядку файла строку, а не самую свежую по времени. drop_duplicates(keep="last") без subset даже после сортировки ищет полностью одинаковые строки, разные версии профиля останутся. groupby().first() берёт первое непустое значение по каждой колонке отдельно и может склеить поля из разных версий.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.