我有一个idaydf.index,我正在尝试本地化时区
DatetimeIndex(['2022-10-24 16:00:00', '2022-10-24 16:15:00',
...
'2023-06-16 21:58:00', '2023-06-16 22:00:00'],
dtype='datetime64[ns]', name='DateTime', length=9012, freq=None)
与
idaydf.index = idaydf.index.tz_localize(LOCAL_TZ)
其中LOCAL_TZ是
_PytzShimTimezone(zoneinfo.ZoneInfo(key='Europe/London'), 'Europe/London')
我得到这个错误:
*** AttributeError: 'NoneType' object has no attribute 'total_seconds'
我有这些版本:
python3-3.11.3
pandas-1.5.3
pytz-2023.3-1
tzlocal 4.2
如何修复?
1条答案
按热度按时间7fyelxc51#
可以使用timezone对象的字符串表示来解耦。那样的话
LOCAL_TZ
的库可以切换到zoneinfo而不会使代码崩溃try/except
s例如:
tzlocal
提供了一种直接获取字符串形式的IANA tz名称的方法,这可能会使这里的操作变得更容易-这在tzlocal4.2版中已经可以工作了