После ответа здесь и и здесь . Сначала я изменяю фрейм данных на объект времени
data['start'] = pd.to_datetime(data_session['start'], format = '%H:%M:%S').dt.time
data['end'] = pd.to_datetime(data['end'], format = '%H:%M:%S').dt.time
data['minutes'] = (data['end'] - data['start']).dt.minutes
data['Hour'] = data['start'].dt.hour
Я получаю эту ошибку:
Error:TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.time'
Я проверил, что такое информация о фрейме данных:
data.info()
start 10000 non-null object
end 10000 non-null object
Столбец по-прежнему является типом объекта. Почему он не конвертируется в datetime64? Почему я не могу получить к нему доступ с помощью средства доступа dt ?
Моя последняя попытка была:
data['start'] = pd.to_datetime(data_session['start'], format = '%H:%M:%S')
data['end'] = pd.to_datetime(data['end'], format = '%H:%M:%S')
data['minutes'] = (data['end'] - data['start'])
data.info()
start 10000 non-null datetime64[ns]
end 10000 non-null datetime64[ns]
Это решение работало частично , так как я получил разницу во времени, но в моем столбце начала и конца была указана дополнительная дата.
e.g: 06:10:10 -> 1900-01-01 06:10:10
Мои цели:
- Создать новую колонку, указав только час одной из серий
- Создать новый столбец с разницей во времени в минутах