#pandas #datetime
#pandas #дата и время
Вопрос:
У меня есть доступ только для чтения к данным, где время хранится как объект time (дата не имеет значения). Мне нужно вычесть несколько секунд из каждой строки. Итак, самый простой способ, который я знаю, это использовать timedelta, но сначала мне нужно преобразовать столбец time в столбец datetime. Для этого должен быть простой способ; по-видимому, его нет.
Комментарии:
1. Вероятно, проще преобразовать
time
col вpd.TimeDelta
withpd.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 — имя столбца