python datetime в строку для подключения к уравнению линейной регрессии

#python #datetime

Вопрос:

Я считаю, что мне нужно преобразовать дату и время в строку, чтобы я мог включить эту переменную в свое линейное уравнение

 now = datetime.datetime.now()  x = datetime.datetime.strptime(now.astype(str).str[:10], '%Y-%m-%d').toordinal()   

Я получаю эту ошибку:

Ошибка типа: аргумент strptime() 1 должен быть str, а не datetime.datetime

или

Ошибка значения: необращенные данные остаются: 18:17:27.424685, когда я пытаюсь

 x = datetime.datetime.strptime(str(now), '%Y-%m-%d').toordinal()  

или

Ошибка атрибута: объект «datetime.datetime» не имеет атрибута «astype», когда я пытаюсь

 x = datetime.datetime.strptime(now.astype(str).str[:10], '%Y-%m-%d').toordinal()  

Ответ №1:

strptime это функция, которая преобразует строку в объект datetime, у вас уже есть объект datetime, и вы пытаетесь преобразовать его в строку и обратно в объект datetime, это не нужно.

Я предполагаю, что вы пытаетесь удалить компонент времени объекта datetime, чтобы получить порядковый номер даты, вам будет проще сделать это таким образом:

 now.date().toordinal()  

Но поскольку toordinal() в любом случае игнорируется компонент времени, выполнение следующего приведет к тому же результату:

 now.toordinal()  

Комментарии:

1. отлично, это сработало