#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».. Спасибо!