Вычитание временной метки должно иметь одинаковые часовые пояса или не иметь часовых поясов, но обе они являются UTC - PullRequest
1 голос
/ 18 марта 2020

Есть вопросы, связанные с той же ошибкой TypeError: Timestamp subtraction must have the same timezones or no timezones, но ни один не сталкивается с той же проблемой, что и эта.

У меня есть 2 UT C Отметки времени, которые выдают эту ошибку при вычитании.

print(date, type(date), date.tzinfo)
>>> 2020-07-17 00:00:00+00:00 <class 'pandas._libs.tslibs.timestamps.Timestamp'> UTC
print(date2, type(date2), date2.tzinfo)
>>> 2020-04-06 00:00:00.000000001+00:00 <class 'pandas._libs.tslibs.timestamps.Timestamp'> UTC
date - date2
>>> TypeError: Timestamp subtraction must have the same timezones or no timezones

Редактировать: я использую Python 3.6.9 и Pandas 1.0.1

1 Ответ

0 голосов
/ 25 марта 2020

После проверки типов часовых поясов: type(date.tzinfo) дает <class 'datetime.timezone'>, а type(date2.tzinfo) дает <class 'pytz.UTC'>, поэтому в исходном коде pandas они не считаются равными, даже если они оба UT C.

Таким образом, решение состояло в том, чтобы заставить их иметь тот же тип tzinfo (либо pytz , либо datitme.timezone )

Это открытый выпуск в Github: https://github.com/pandas-dev/pandas/issues/32619

...