Как исправить AttributeError: можно использовать только метод доступа .dt со значениями, подобными datetime

Схема исправления AttributeError: можно использовать только метод доступа .dt со значениями, подобными datetime

AttributeError: можно использовать только аксессор .dt со значениями типа datetime. Ошибка возникает, «когда объект, к которому вы пытаетесь получить доступ с помощью аксессора .dt, не является значением, подобным дате и времени».

Воспроизведение ошибки

Выход

В этом примере мы создали DataFrame с одним столбцом с именем «имя», который содержит строковые значения.

Когда код пытается получить доступ к свойству дня этого столбца с помощью метода доступа .dt, он генерирует ошибку «AttributeError», поскольку столбец «имя» не является значением, подобным дате и времени.

Как исправить ошибку?

Вот четыре способа исправить ошибку AttributeError: можно использовать только метод доступа .dt с ошибкой значений datetimelike.

  1. Проверьте тип объекта.
  2. Преобразуйте объект в datetime.
  3. Проверьте наличие нулевых значений.
  4. Добавление формата преобразования даты.

Решение 1. Проверьте тип объекта

Убедитесь, что объект, который вы пытаетесь использовать метод доступа «.dt», является объектом, подобным дате и времени, например Pandas Timestamp, DatetimeIndex или Period.

Решение 2. Преобразуйте объект в формат datetime.

Чтобы исправить ошибку AttributeError: можно использовать только метод доступа .dt с ошибкой значений datetimelike в Python, используйте функцию «pd.to_datetime(df[‘column’], error=’coerce’)», чтобы преобразовать отсутствующие значения в NaN, а затем используйте функцию Аксессор .dt для получения значений даты.

Если вы установите параметр error=’coerce’, для этих строк будет установлено значение NaN, если преобразование не удастся для какой-либо конкретной строки.

Выход

В этом примере мы пытаемся преобразовать значения, не похожие на дату и время, в значения даты и времени с помощью функции pd.to_datetime(), и все значения не похожи на дату и время; ему не удалось преобразовать их и установить значения NaN.

Решение 3. Проверьте наличие нулевых значений

Вы можете использовать функцию pandas fillna(), чтобы заполнить любые нулевые значения значением по умолчанию или удалить нулевые значения с помощью dropna().

Решение 4. Добавление формата преобразования даты

Исправить ошибку можно, добавив формат преобразования даты в функцию to_datetime().

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python
Добавить комментарии