@Elick

Можно ли в pandas дропнуть дубликаты строк, оставив несколько последних?

Здравствуйте, интересует можно ли дропнуть дубликаты строк в pandas, но при этом оставив определенное количество последних строк?
Функция .drop_duplicates() позволяет сохранить только первую или последнюю строки.
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
@Elick Автор вопроса
Пока в голову приходит что-то такое через лист компрехенсив, но если unique_vals_clmn1 слишком большой это может затянуться надолго
А код оставляет последние 100 строк для каждого уникального значения column1, т.е. он удаляет дубликаты по column1, сохраняя последние 100 строк

unique_vals_clmn1 = df['column1'].unique().tolist()
df = pd.concat([df[df['column1']==unique_val_clmn1].tail(n=100) for unique_val_clmn1 in unique_vals_clmn1]).reset_index().sort_values('index', ascending=True).set_index('index')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы