为什么tz_本地化(‘CET’)在Pandas中没有表现为‘UTC+1’?

2024-06-25 23:58:50 发布

您现在位置:Python中文网/ 问答频道 /正文

根据tz_localize documentation,CET等于UTC+1。为什么tz_本地化(‘CET’)在熊猫中没有表现为‘UTC+1’

import pandas as pd
tz_naive = pd.date_range('2020-03-29 00:00', periods=4, freq='H')
print(tz_naive)

结果:

DatetimeIndex(['2020-03-29 00:00:00', '2020-03-29 01:00:00',
               '2020-03-29 02:00:00', '2020-03-29 03:00:00'],
              dtype='datetime64[ns]', freq='H')

由于“CET”=“UTC+1”,我预计tz_naive.tz_localize(tz='CET')会导致:

DatetimeIndex(['2020-03-29 00:00:00+01:00', '2020-03-29 01:00:00+01:00',
               '2020-03-29 02:00:00+01:00', '2020-03-29 03:00:00+01:00'],
              dtype='datetime64[ns, CET]', freq='H')

……但事实并非如此。相反,它会引发NonExistentTimeError: 2020-03-29 02:00:00。在2020-03-29 02:00:00,我们从DST转到了非DST。我认为CET总是UTC+1,但要么我错了,要么tz_localize()没有相应的行为。谁能证实我


Tags: importpandasdocumentationtzdstpdutcns