【发布时间】:2016-10-05 19:15:42
【问题描述】:
我有一个文件,其中包含未来两周的预测事件。有一个包含日期和每 30 分钟间隔的 datetime 列,以及一个 time zone 列。
我正在使用 pytz 将不同的时区(大约 30 多个唯一的时区)转换为 UTC,然后再将它们加载到数据库中。但是,对于预测文件,我收到一个错误:
NonExistentTimeError: 2016-10-16 00:00:00
有没有办法解决这个问题?
date interval time_zone
10/26/2016 22:30 US/Central
10/26/2016 22:30 US/Eastern
10/26/2016 23:00 America/Bogota
10/26/2016 23:00 Asia/Calcutta
当前代码:
for tz in df['time_zone'].unique():
df.loc[df['time_zone'] == tz, 'datetime_utc'] = df.loc[df['time_zone'] == tz, 'datetime'].dt.tz_localize(tz).dt.tz_convert('UTC')
df['datetime_utc'] = df['datetime_utc'].dt.tz_localize(None)
【问题讨论】:
-
哪个时区失败了?
-
啊,这是在我读取数据(方法链接)时完成的,所以我认为它适用于任何值。我查了那个日期并用谷歌搜索,我把它缩小到巴西。 tz = '巴西/东部' df3.loc[df3['time_zone'] == tz, 'datetime_utc'] = df3.loc[df3['time_zone'] == tz, 'datetime'].dt.tz_localize(tz ).dt.tz_convert('UTC')