Pandas Datetime Conversion из определенного формата ISO - PullRequest
0 голосов
/ 06 декабря 2018

Большое спасибо за вашу помощь заранее.

Я пытаюсь преобразовать дату и время, являющиеся строкой в ​​формате ISO, в объект даты и времени.Но перепробовал много методов без успеха.Пожалуйста, помогите с этим.

В качестве примера у меня есть датафрейм, время столбца которого аналогично приведенному ниже.Это было извлечено из базы данных, и это был формат вывода.

2018-12-04T04:39:26Z
2018-12-04T05:10:54.6Z
2018-12-04T05:17:32Z
2018-12-04T10:51:20.5Z
...

То, что я пробовал до сих пор (много попыток), но безуспешно:

df.index = pd.to_datetime(df.index, format = "%Y-%m-%dT%H:%M:%SZ", errors='ignore')

df.index = pd.to_datetime(df.index)

df.time = df.time.map(lambda x: pd.to_datetime(dt.datetime.strptime(x, '%Y-%m-%dT%H:%M:%SZ'), format = '%d/%m/%Y %H:%M'))

Еще раз спасибо!

1 Ответ

0 голосов
/ 02 марта 2019

Я хотел ответить на это раньше.В конце я просто создал функцию, которая работает с различными входными данными, а также создает фрейм данных с именами столбцов.Спасибо ALollz за ваш комментарий относительно pd.to_datetime (df.index, errors = 'coerce').

Итак, чтобы преобразовать индекс из строки в установленный мною формат ISO, следуя этой последовательности:

df = pd.DataFrame([[-1.8, '2018-09-14T13:36:00Z']], columns = ['current', 'time'])
df.set_index('time', inplace = True)   # make it your index by using the inplace=True
df.index = pd.to_datetime(df.index, errors='coerce')

После преобразования в datetime проверьте правильность дат.Возможно, вам придется указать формат, если они неправильно прочитаны.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...