преобразовать столбец pandas time в столбец datetime

#pandas #datetime

#pandas #дата и время

Вопрос:

У меня есть доступ только для чтения к данным, где время хранится как объект time (дата не имеет значения). Мне нужно вычесть несколько секунд из каждой строки. Итак, самый простой способ, который я знаю, это использовать timedelta, но сначала мне нужно преобразовать столбец time в столбец datetime. Для этого должен быть простой способ; по-видимому, его нет.

Комментарии:

1. Вероятно, проще преобразовать time col в pd.TimeDelta with pd.to_timedelta() .

2. Ошибка значения: недопустимый тип для скаляра timedelta: <класс ‘datetime.time’>

Ответ №1:

Хорошо, наконец я нашел решение, которое было скрыто многими проводными обходными путями. Для этого требуется аргумент format: pd.to_datetime(measures.time,format=’%H:%M:%S’), где формат должен быть точно таким же, как форматируется время.

Однострочное решение, если кто-нибудь придет с подобным вопросом:

time = (pd.to_datetime(measures.time,format=’%H:%M:%S’) — дельта).dt.time где measures — это набор данных, а time — имя столбца