невозможно объявить объект времени в Python - PullRequest
0 голосов
/ 24 сентября 2018

Я немного новичок в этом, и я работаю с данными о времени и времени в Python.Два вопроса:

У меня есть столбец времени, связанный с событиями, но мне сложно объявить его как время с использованием datetime.time.У меня есть столбец времени, который отформатирован следующим образом:

0       11:17:43
1       06:00:00
2       06:30:35
3       02:00:00
4       23:00:00
5       13:20:49
6       19:30:00

, и я пытаюсь объявить его как объект времени

data['timeobject'] = datetime.time(data['start_time'], axis = 1)

Но я получаю это сообщение об ошибке:

TypeError: невозможно преобразовать серию в класс 'int'

Кроме того, я хотел бы взять этот объект времени и использовать его в качестве зависимой переменной с использованием классификации или регрессии scikit-learn.

Как мне объявить его объектом времени, и возникнут ли какие-либо проблемы с его прохождением через модели scikit-learn для прогнозирования возможного события?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

datetime.time не работает в векторизованном виде.Pandas верхнего уровня pd.to_timedelta делает, и он принимает широкий спектр форматов, включая строки в формате, который вы указали.Для данного кадра данных со столбцом 'td':

df['td'] = pd.to_timedelta(df['td'])

print(df)

0   11:17:43
1   06:00:00
2   06:30:35
3   02:00:00
4   23:00:00
5   13:20:49
6   19:30:00
Name: td, dtype: timedelta64[ns]

В основе результирующего ряда лежит целочисленный массив через np.timedelta64.Вы должны ожидать, что это будет хорошо работать с фреймворком scikit-learn.

0 голосов
/ 24 сентября 2018

Вы должны использовать pandas.to_datetime , а не стандартную библиотеку datetime

data['timeobject'] = pd.to_datetime(data['start_time'], format='%h:%m:%s')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...