Skip to content

BUG: Series.__repr__ crashing with tzlocal() #24310

Open
@h-vetinari

Description

@h-vetinari

Encountered while writing tests for PR to #23833, where I wanted to use tz_aware_fixture for testing promotions of datetimes with tz. The following is an equivalent minimal example, but constructed directly.

>>> import pandas as pd
>>> from dateutil.tz import tzlocal
>>> from pandas.core.dtypes.dtypes import DatetimeTZDtype
>>> dtype = DatetimeTZDtype(tz = tzlocal())
>>> s = pd.Series([10 ** 9], dtype=dtype)

The constructor passes, but worryingly, already the repr of s fails with a huge stacktrace:

>>> s
Traceback (most recent call last):
[~130 lines of stacktrace]
OSError: [Errno 22] Invalid argument

Same goes for s[0].

The underlying values are still there though:

>>> s.values
array(['1970-01-01T00:00:01.000000000'], dtype='datetime64[ns]')
>>> s._data
SingleBlockManager
Items: RangeIndex(start=0, stop=1, step=1)
DatetimeTZBlock: 1 dtype: datetime64[ns, tzlocal()]

This seems like a pretty serious regression to me. @mroeschke @jbrockmendel @jreback @TomAugspurger @jorisvandenbossche

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugError ReportingIncorrect or improved errors from pandasOutput-Formatting__repr__ of pandas objects, to_stringTimezonesTimezone data dtypeWindowsWindows OS

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions