У меня есть следующие панды dataframe
, которые я пытаюсь отфильтровать, чтобы предоставить мне обновленный dataframe
, основанный на последнем date & time
в моей базе данных.
Это образец dataframe
, который я пытаюсь отфильтровать:
>>> df
# The time is in '%H:%M:%S' format, and the date is in '%d-%b-%Y'
Time Date Items
00:05:00 29-May-2018 foo
00:06:00 30-May-2018 barr
00:07:00 31-May-2018 gaaa
00:11:00 31-May-2018 raaa
... ... ...
Я пытаюсь отфильтровать это dataframe
на основе последней записи вмоя база данных sqlНапример, последняя запись: ['20:05:00','30-May-2018']
.Приведенный ниже код - это то, что я использовал для фильтрации из df
:
last_entry = ['20:05:00','30-May-2018']
# Putting time into a datetime format to work within the dataframe.
last_entry_time = datetime.strptime(last_entry[0], '%H:%M:%S').time()
new_entry = df[(df['Date'] >= last_entry[1]) & (df['Time'] > last_entry_time)]
Если бы вместо этого я использовал фильтр как: new_entry = df[df['Date'] >= last_entry[1])]
, это хорошо работает, чтобы вернуть текущую дату и более новую на основев последний день: 30-May-2018
и 31-May-2018
.
Однако, что касается временной части, поскольку мое last_entry
время равно 20:05:00
, оно начинает отфильтровывать оставшиеся данныечто я пытаюсь собрать ...
Вопрос:
Как я могу выполнить фильтр dataframe
, чтобы он возвращал мне новые записив кадре данных, который основан на старом date and time
в базе данных?
Идеальный результат
last_entry = ['20:05:00','30-May-2018']
>>> new_entry
Time Date Items
00:07:00 31-May-2018 gaaa
00:11:00 31-May-2018 raaa
... ... ...