Мне нужно сравнить время между двумя датами в python. Один указывается в виде строки, а другой - в формате datetime.datetime. Я попробовал несколько идей, но ошибка всегда Cannot compare tz-naive and tz-aware datetime-like objects
Идея 1: Преобразовать время строки в pandas Отметка времени. Затем преобразовать в строку. Затем преобразуйте в изоформат. Затем сравните новый isoformat с объектом datetime.datetime
from datetime import datetime, timedelta
time_to_compare = datetime.utcnow()-timedelta(minutes=60)
df['Date'] = pd.to_datetime(df['Date'])
df['Date'] = df['Date'].apply(lambda x: str(x))
df['Date'] = df['Date'].apply(lambda x: datetime.fromisoformat(x))
df= df.loc[df['Date']>=time_to_compare]
Идея 2: Измените объект datetime.datetime на метку времени
time_to_compare = pd.to_datetime(datetime.utcnow()-timedelta(minutes=60))
df['Date']=pd.to_datetime(df['Date'])
df= df.loc[df['Date']>=time_to_compare]
В идеале я хочу отфильтровать фрейм данных и сказать, если time_to_compare меньше чем df ['Date'] сохранить указанный элемент в кадре данных.
Использовать для проверки:
d = {'Date':['2020-03-12T13:59:15.739Z','2020-02-28T22:22:06.827Z']}
df = pd.DataFrame(data=d)