#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.