Задать вопрос
@kmazurovl
Начинающий data аналитик

Почему %Y-%m-%dT%H:%M:%S не учитывает разделитель T?

Добрый день!

Я новичок в программировании. Столкнулся с такой проблемой:
Мне нужно перевести значения в столбце 'date_time' в формат даты 2018-04-06T16:53:58. Для этого я использую метод to_datetime() и в аргументе format указываю строку вида: '%Y-%m-%dT%H:%M:%S', однако разделитель T не учитывается. В чем ошибка синтаксиса?

import pandas as pd
data = pd.read_csv('/datasets/visits.csv', sep='\t')

data['date_time'] = pd.to_datetime(data['date_time'], format='%Y-%m-%dT%H:%M:%S')
print(data['date_time'].head())


Out:
0 2018-04-06 16:53:58
1 2018-04-04 17:39:13
2 2018-04-03 17:28:24
3 2018-04-07 07:04:41
4 2018-04-04 13:20:49
  • Вопрос задан
  • 2739 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
@terentjew-alexey
По тому что в данный столбец Вы сохраняете тип данных datetime.datetime, а при выводе в консоль срабатывает преобразование этого типа данных в строковое представление.

UPD Для преобразования столбца, хранящего datetime объекты, в строку нужного формата, Вы можете попробовать следующий код:
data['date_time'] = data['date_time'].map(lambda x: x.strftime('%Y-%m-%dT%H:%M:%S'))
Ответ написан
Комментировать
Tomio
@Tomio
backend developer (python, php)
Попробуйте преобразовать объект даты в строковое представление:
data['date_time'] = pd.to_datetime(data['date_time']).strftime('%Y-%m-%dT%H:%M:%S')
Ответ написан
Комментировать
@gfdtk1
print(data.head())
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы