Я пытаюсь использовать pandas.to_datetime
для преобразования между форматами временных меток в моей базе кода, однако при условии, с строковым иногда pandas
не кажется, чтобы извлечь UTC смещения правильно:Использования панд для преобразования строки временного метки
Вот правильное преобразование, то UTC смещение правильно захвачена, как это отражено в Timestamp объекта:
In[76]: pd.to_datetime('2014-04-09T15:29:59.999993-0500', utc=True)
Out[76]: Timestamp('2014-04-09 20:29:59.999993+0000', tz='UTC')
Вот альтернативный строковое представление, которое по-прежнему является допустимым ISO 8601 DateTime строки но UTC смещение -0500
, кажется, игнорируется :
In[77]: pd.to_datetime('2014-04-09T152959.999993-0500', utc=True)
Out[77]: Timestamp('2014-04-09 15:29:59.999993+0000', tz='UTC')
С другой стороны dateutil пакет обрабатывает вещи в порядке:
In[78]: dateutil.parser.parse('2014-04-09T152959.999993-0500')
Out[78]: datetime.datetime(2014, 4, 9, 15, 29, 59, 999993, tzinfo=tzoffset(None, -18000))
Я мог бы, конечно, использовать dateutil
, но есть какая-то причина, что pandas.to_datetime
не обрабатывает различные строки времени даты ISO правильно. Я здесь что-то не так?
Использование Python 2.7.6 и pandas 0.13.1