2016-10-05 421 views
1

我有一個文件,其中包含預測的事件在接下來的兩週內。有一個日期時間列,其中包含日期和每個30分鐘的時間間隔,以及一個時區列。pytz - 將日期時間轉換爲UTC

我使用pytz在將它們加載到數據庫之前將不同的時區(約30多個獨特的時區)轉換爲UTC。但是,對於預測文件我收到一個錯誤:

NonExistentTimeError:二○一六年十月一十六日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) 
+0

什麼時區它失敗? –

+0

啊,這是我在閱讀數據(方法鏈)時完成的,所以我認爲它是爲了任何價值。我檢查了這個日期並搜索了一下,然後我把它縮小到了巴西。 'tz ='Brazil/East' df3.loc [df3 ['time_zone'] == tz,'datetime_utc'] = df3.loc [df3 ['time_zone'] == tz,'datetime']。dt.tz_localize( TZ).dt.tz_convert( 'UTC') – trench

回答