Манипуляции с датами и сравнения Python, Pandas и Excel - PullRequest
0 голосов
/ 17 июня 2019

У меня в столбце даты и времени [TRANSFER_DATE] на листе Excel отображаются даты, форматированные как 04.01.2009, 0:45, когда выбрана эта дата, в ней она отображается как 04.01.2009, 00:45:08 с использованиемскрипт Python для чтения этого столбца [TRANSFER_DATE], который показывает дату и время как 01/04/2019 00: 45: 08

Однако, когда я пытаюсь сравнить столбец [TRANSFER_DATE] с другой датой, я получаю эту ошибкуиспользовать только метод доступа .dt с datetimelike «ValueError::« Можно использовать только метод доступа .dt с значениями datetimelike »при оценке

, подразумевая, что эти значения фактически не распознаются как значения даты и времени

mask_part_date = data.loc [data ['TRANSFER_DATE']. dt.date.astype (str) == '2019-04-12']

1 Ответ

1 голос
/ 17 июня 2019

Как видно из этого вопроса , импорт в Excel мог молча завершиться с ошибкой для некоторых значений в столбце.Если вы проверите тип столбца с помощью:

data.dtypes

, он может отображаться как object вместо datetime64.

Если вы заставите свой столбец иметь значения даты и времени, это может решить вашуПроблема:

data['TRANSFER_DATE'] = pd.to_datetime(data['TRANSFER_DATE'], errors='coerce')

Вы можете определить не преобразованные значения как NaT и отладить их вручную.

Что касается сравнения, после преобразования кадра данных в объекты datetime это можетбыть более эффективным:

mask_part_date = data.loc[data['TRANSFER_DATE'] == pd.Timestamp('2019-04-12')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...