Панды Python-считывают дату и время, когда время заканчивается 00:00:00.000, например: ’05NOV2019:00:00:00.000′

#python #pandas #datetime

Вопрос:

Я читаю поле даты и времени с разделителями каналов в панд python, все элементы отформатированы таким образом 05NOV2019:00:00:00.000

На импорт, и я делаю df.info() поле имеет dtype: object

Я попытался изменить тип dtype, используя pd.to_datetime() результат:

Ошибка значения: («Неизвестный формат строки:», «05NOV2019:00:00:00.000»)

кроме того, я тоже попробовал взять кусочек веревки. Результат сказал мне, что я не могу так поступить с поплавком? — говорит мне, что это тип dtype «объект»

Затем я ухватился за несколько других соломинок, не зная, что делаю.

Может ли кто-нибудь направить меня по правильному пути, чтобы получить такую дату и время, как: 05НОВ2019:00:00:00

Спасибо

Ответ №1:

просто установите директиву синтаксического анализа явно:

 import pandas as pd

s = pd.Series(["05NOV2019:00:00:00.000"])

pd.to_datetime(s, format="%d%b%Y:%H:%M:%S.%f")
0   2019-11-05
dtype: datetime64[ns]
 

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

1. Большое спасибо за ваше решение — попробую, оно похоже на то, что я пробовал ранее, но, как я уже говорил, я был только неуклюжим и тупым🤣 — дата-время Грррррр!!

2. @TechnoGronk в конце концов вы освоитесь с этим 😉 Много раз pd.to_datetime хорошо справляется с определением формата, но всегда полезно перепроверить, и в подобных случаях просто скажите функции, что делать.