У меня есть таблица, которая выглядит следующим образом
Date Col0 Col1 Col2
2-18-2019 1 ap sd 23
2-18-2019 2 dh au 88
2-18-2019 3 ap hre 92
2-19-2019 1 sd ap 23
2-19-2019 2 sd ap 78
2-19-2019 3 ap sd 78
2-20-2019 1 ap sd 37
2-20-2019 2 sd ap 29
2-20-2019 3 djd dh 34
2-21-2019 1 eds ed 44
2-21-2019 2 u4r rg 34
2-21-2019 3 ufif ew 23
2-22-2019 1 eds sd 44
2-22-2019 2 u4r rg 34
2-22-2019 3 ap ew 23
Мне нужно отфильтровать последнюю строку по ключевым словам, если они повторялись в течение нескольких дней, поэтому, если несколько дней спустя ключевые слова были повторены, мне нужно включить их так же, как в таблице результатов ниже.
результат, который я ищу, должен выглядеть примерно так
Date Col0 Col1 Col2
2-19-2019 3 ap sd 78
2-20-2019 1 ap sd 37
2-20-2019 2 sd ap 29
2-22-2019 1 eds sd 44
2-22-2019 3 ap ew 23
Я пробовал это
df = df[(Col1.str.contains('ap')) | (Col1.str.contains('sd'))]
, но это дало бы мне этот результат
Date Col0 Col1 Col2
2-18-2019 1 ap sd 23
2-19-2019 1 sd ap 23
2-19-2019 2 sd ap 78
2-19-2019 3 ap sd 78
2-20-2019 1 ap sd 37
2-20-2019 2 sd ap 29
2-22-2019 1 eds sd 44
2-22-2019 3 ap ew 23
И это неправильно, так как он возвращает все. разница между результатом, который я имею, и желаемым ниже, состоит в том, что если условие не было выполнено в течение одного дня (столбец даты) или более, то это снова показывает, что мне нужно повторить процесс
Date Col0 Col1 Col2
2-19-2019 3 ap sd 78
2-20-2019 1 ap sd 37
2-20-2019 2 sd ap 29
2-22-2019 1 eds sd 44
2-22-2019 3 ap ew 23
Спасибо