Как использовать метку времени в построении наивной байесовской модели в Python

У меня есть набор данных с меткой времени в качестве одного из столбцов в формате 09/07/2016 23:58.

Я пытаюсь применить Наивный Байес к этим Данным, и я столкнулся с приведенной ниже ошибкой. Пожалуйста, дайте мне знать, как использовать эти данные в моей модели

ValueError: недопустимый литерал для float(): 06.12.2016, 23:59

2 ответа

Решение

Тебе нужно to_datetime с параметром errors='coerce' для преобразования плохих не разбираемых значений в NaT:

df = pd.DataFrame({'date':['12/06/2016 23:59','12/06/2016 23:59', 'a']})
print (df)
               date
0  12/06/2016 23:59
1  12/06/2016 23:59
2                 a


print (pd.to_datetime(df.date, errors='coerce'))
0   2016-12-06 23:59:00
1   2016-12-06 23:59:00
2                   NaT
Name: date, dtype: datetime64[ns]

Для проверки плохих значений используйте boolean indexing - вернуть все строки, где есть NaT:

print (df[pd.to_datetime(df.date, errors='coerce').isnull()])
  date
2    a
Другие вопросы по тегам