У меня есть следующая дата:
0 2019-06-29
Name: end date, dtype: datetime64[ns]
Это часть фрейма данных с именем data:
data
PointAlias start Date end date
0 AO122732 2018-06-29 2019-06-29
тогда я преобразую его следующим кодом:
end_date_transformed = []
for x in range(len(data['end date'])):
transf = pd.to_datetime(data['end date'][x]).date()
end_date_transformed.append(transf)
end_date_transformed
output: [datetime.date(2019, 6, 29)]
Я хочу знать, возможно ли преобразовать его из списка в просто строку для применения datetime.datetime.strftime(end_date_transformed, %Y%m%d')
.
Есть ли способ сделать это?
Конечная цель этого состоит в том, чтобы иметь возможность отфильтровывать фрейм данных дат, чтобы получить только те даты, которые <= end_date_transformed
. Что-то вроде:
df
date
0 2018-06-29
1 2018-10-29
2 2019-02-28
3 2019-06-29
4 2019-10-29
5 2020-02-29
df[df['date'] <= end_date_transformed] # This does not work, the output is:
ValueError: Arrays were different lengths: 44 vs 1
Я понимаю, что приведенный выше код не будет работать, но если я использую datetime.date (год, месяц, день) и использую его как end_date_transformed
, он работает, поэтому проблема заключается в преобразовании даты окончания.
Если кто-то может помочь, я буду благодарен.
Большое спасибо, что нашли время, чтобы прочитать его и ответить.