2017-01-28 2 views
1

У меня есть столбец timestamp в моей dataframe, который изначально имеет тип str. Некоторые выборочные значения:Невозможно преобразовать столбец данных в формат 24-h datetime

'6/13/2015 6:45:58 AM' 
'6/13/2015 7:00:37 PM' 

Я использую следующий код для преобразования этих значений в DateTime в формате 24H, используя этот код:

df['timestampx'] = pd.to_datetime(df['timestamp'], format='%m/%d/%Y %H:%M:%S %p') 

И, я получаю этот результат:

2015-06-13 06:45:58 
2015-06-13 07:00:37 

Это означает, что даты НЕ конвертируются в формат 24H, и я также теряю информацию AM/PM. Любая помощь?

ответ

2

Вы читаете его как 24-часовое время, но на самом деле текущий формат не является 24-часовым, это 12-часовое время. Прочитайте его через 12 часов с суффиксом (AM/PM), тогда вы будете в порядке, чтобы выводить через 24 часа позже, если потребуется.

df = pd.DataFrame(['6/13/2015 6:45:58 AM','6/13/2015 7:00:37 PM'], columns = ['timestamp']) 
df['timestampx'] = pd.to_datetime(df['timestamp'], format='%m/%d/%Y %I:%M:%S %p') 

print df 

       timestamp   timestampx 
0 6/13/2015 6:45:58 AM 2015-06-13 06:45:58 
1 6/13/2015 7:00:37 PM 2015-06-13 19:00:37 
Смежные вопросы