Pandas version checks
-
[X] I have checked that this issue has not already been reported.
-
[X] I have confirmed this bug exists on the latest version of pandas.
-
[ ] I have confirmed this bug exists on the main branch of pandas.
Reproducible Example
import pandas as pd
t0 = pd.Timestamp("01-01-2000")
print(repr(t0.tz_localize("CET").tz))
print(repr(pd.DatetimeIndex([t0]).tz_localize("CET").tz))
Issue Description
If pytz = "==2024.2"
is installed the example prints
<DstTzInfo 'CET' CET+1:00:00 STD>
<DstTzInfo 'CET' LMT+0:18:00 STD>
Downgrading pytz
to 2024.1
resolves this issue.
Expected Behavior
The .tz
property should produce the same result regardless if the object is a Timestamp
or DatetimeIndex
. Hence, I expect this example to print
<DstTzInfo 'CET' CET+1:00:00 STD>
<DstTzInfo 'CET' CET+1:00:00 STD>
Installed Versions
Comment From: lithomas1
Thanks for reporting this.
I think we spotted this in our CI for pandas 2.2.x as well.
@mroeschke Sorry to ping but do you know what's going wrong? Looking at pytz's release it looks like all they did was update their tzdata to IANA 2024b. Maybe we have a conflict between pytz and zoneinfo/tzdata?
Comment From: mroeschke
Given the documentation in https://pandas.pydata.org/docs/user_guide/timeseries.html#working-with-time-zones (in the Note
below), it seems that the ==2024.2
pytz behavior is more correct then the prior.
I don't exactly recall seeing this in the 2.2.x branch.
Additionally, the pandas main branch already removed support for interpreting CET
as a pytz timezone and now will infer this as a zoneinfo timezone, so I'm not sure this is likely to be fixed