Как привести строку с AM / PM к отметке времени в пандах - PullRequest
0 голосов
/ 02 октября 2018

У меня есть такая строка 29-08-17 11.34.58.548518 PM,, как преобразовать ее в метку времени в пандах:

Такой подход не сработал

pd.to_datetime('29-08-17 11.34.58.548518 PM', '%d-%m-%Y %H.%M.%S', dayfirst = True)

Ответы [ 2 ]

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

Кроме того, избавиться от PM / AM не вариант: мы должны все делать правильно.Окончательное решение:

pd.to_datetime(pd.to_datetime('29-08-17 11.34.58.548518 PM', format='%d-%m-%y %I.%M.%S.%f %p'), format='%d-%m-%y %H.%M.%S')

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

Вы можете удалить dayfirst, потому что эта информация включена в вашу строку форматирования.Чтобы включить всю строку даты, включая .548518 PM, используйте директивы %f и %p:

pd.to_datetime('29-08-17 11.34.58.548518 PM', format='%d-%m-%y %I.%M.%S.%f %p')

Возврат:

Timestamp('2017-08-29 23:34:58.548518')

%f означает микросекунду какдесятичное число, а %p обозначает эквивалент локали AM или PM (подробнее см. документы )

...