Избегайте дублирования перед х строк - PullRequest
0 голосов
/ 17 января 2020

У меня есть база данных с некоторыми датами и идентификаторами. То, что я хотел бы сделать, - это не видеть один и тот же идентификатор в течение следующих 3 месяцев, что-то вроде устранения дубликатов, но не для всей серии, а лишь доли. Мне было интересно, как сделать это в Python, не возвращаясь к замедлению для l oop.

Пример моих данных будет выглядеть примерно так:

Date        ID
2019-02-28  2942
2019-03-31  2942
2019-08-31  3382
2019-05-31  4990
2019-06-30  4990
2019-08-31  4990

2942 и только второй 4990 должны быть исключены, в результате чего-то вроде этого:

Date        ID
2019-02-28  2942
2019-08-31  3382
2019-05-31  4990
2019-08-31  4990

Я надеюсь, что вы, ребята, можете помочь мне решить эту проблему. Спасибо: -)

Ответы [ 2 ]

0 голосов
/ 17 января 2020

Возьмите первую дату и разбейте фрейм данных на квартальные части. Положите ломтики в список. Удалите дубликаты в каждом подсписке и перегруппируйте фрагменты вместе.

0 голосов
/ 17 января 2020
  • groupby ваши строки по ID.
  • Внутри каждой группы
    • найдите наименьшую дату.
    • Удалите все строки с положительной датой, которая меньше чем 3 месяца с этой даты.

Можете ли вы справиться с кодированием отсюда?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...