Как преобразовать столбец с нулевыми значениями в формат даты и времени? - PullRequest
0 голосов
/ 15 октября 2018

Как конвертировать df в pandas datetime тип данных?(с нулевым значением)

datet = pd.DataFrame(['2018-09-07 00:00:00','2017-09-15 00:00:00',''],columns=['Mycol'])

datet['Mycol'] = datet['Mycol'].apply(lambda x: 
                                dt.datetime.strptime(x,'%Y-%m-%d %H:%M:%S'))

Но возвращает ошибку: ValueError: данные времени '' не соответствуют формату '% Y-% m-% d% H:% M:% S'

Как я могу устранить эту ошибку?(оставьте пустым значение)

Спасибо!

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Это потому, что ваш третий столбец содержит пустую строку.Удалите это, и это работает.Он не может преобразовать пустую строку в формате соответствия.

datet = pd.DataFrame(['2018-09-07 00:00:00','2017-09-15 00:00:00'],columns=['Mycol'])

datet['Mycol'] = datet['Mycol'].apply(lambda x: datetime.datetime.strptime(x,'%Y-%m-%d %H:%M:%S'))
0 голосов
/ 15 октября 2018

Просто сделайте:

datet['Mycol'] = pd.to_datetime(datet['Mycol'], errors='coerce')

Это автоматически преобразует ноль в значение NaT.

Вывод:

0   2018-09-07
1   2017-09-15
2          NaT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...