сравнение двух точно одинаковых данных временной метки, но показывающих ложные

#python #dataframe #timestamp

#питон #фрейм данных #отметка времени

Вопрос:

Скриншот

Я взял некоторые данные временных меток из двух разных фреймов данных и попытался сравнить их. Однако, несмотря на то, что данные метки времени точно такие же, python возвращает значение false. (пожалуйста, обратитесь к скриншоту)

Что я делаю не так?

Источник:

 if covid_traffic_data.at[22, '시점'] is covid_confirmed_data.at[1, 'date']:  print(True) else:  print(False)  print(covid_traffic_data.at[22, '시점']) print(covid_confirmed_data.at[1, 'date'])  

Результат:

 False 2020-01-23 00:00:00 2020-01-23 00:00:00  

Комментарии:

1. Вы должны использовать == для проверки на равенство. is тесты на идентификацию объекта.

Ответ №1:

is сравнивает ссылки на объекты. Он вернет значение True, только если обе переменные указывают на одно и то же место в памяти. С другой стороны, == использует любую реализацию __eq__ объекта или по умолчанию is , если __eq__ она не реализована для этого класса.

Комментарии:

1. ради всего святого.. Я был слишком взволнован, чтобы изучать python, и не мог перестать использовать «is».. Спасибо!