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

#python #pandas #datetime

#python #pandas #datetime

Вопрос:

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

 operational_data_clean['Pick/pack start-time'] = pd.to_datetime(operational_data_clean['Pick/pack start-time'])

operational_data_clean['Flight launched-time'] = pd.to_datetime(operational_data_clean['Flight launched-time'])

operational_data_clean['time_to_launch'] = 0

operational_data_clean['time_to_launch'] = operational_data_clean['Flight launched-time'] - operational_data_clean['Pick/pack start-time']
  

но этот код при первом запуске я получаю хорошие результаты, но при втором запуске он добавляет сегодняшнюю дату к значению ‘Время начала сбора / упаковки’ и ‘Время запуска рейса’.

Как я могу преобразовать это время только в часы, не получая дат, которые искажают мои данные.

Ответ №1:

Я предполагаю, что вы запускаете свой код с помощью jupyter notebook.

Когда вы выполняете свой код, ваша переменная operational_data_clean['Pick/pack start-time'] становится pd.to_datetime(operational_data_clean['Pick/pack start-time']) .

Итак, когда вы выполняете блок еще раз, jupyter запоминает ваши переменные и, следовательно, снова выполнит ту же функцию, по сути, делая это: pd.to_datetime(pd.to_datetime(operational_data_clean['Pick/pack start-time'])) .

Что касается pd.to_datetime() самого по себе, я бы посоветовал просмотреть документы pandas.