[英]Pandas: How to convert local time to utc?
我有一個 pandas dataframe ,其中有一列由日期時間字符串組成,這些我已使用 pd.to_datetime() 轉換為日期時間。 然后我嘗試將此列從瑞典當地時間轉換為 UTC,但在使用NonExistentTimeError
轉換時會出現 NonExistentTimeError。 如何在不刪除時間戳的情況下解決此問題?
df['Time'] = pd.to_dataframe(df['Time'])
df['Time'] = df['Time'].dt.tz_localize('Europe/Stockholm')
我的 dataframe 看起來像這樣:
時間 | 價值 |
---|---|
2022-03-26 23:00:00 | 1 |
2022-03-27 00:00:00 | 5 |
2022-03-27 01:00:00 | 6 |
2022-03-27 02:00:00 | 8 |
2022-03-27 03:00:00 | 4 |
2022-03-27 04:00:00 | 11 |
2022-03-27 05:00:00 | 10 |
作為錯誤
NonExistentTimeError:2022-03-27 02:00:00
告訴你,那個時間在斯德哥爾摩當地時間是不存在的。 由於 DST 更改,凌晨 1 點之后的時間是凌晨 3 點,而不是凌晨 2 點。 所以對我來說,這看起來像是在生成這些數據的過程中發生了一些錯誤,也許值得調查。
無論如何,你可以做的是設置nonexistent
的關鍵字,例如
df['Time'] = pd.to_datetime(df['Time'])
df['Time'] = df['Time'].dt.tz_localize('Europe/Stockholm', nonexistent='NaT')
df['Time']
0 2022-03-26 23:00:00+01:00
1 2022-03-27 00:00:00+01:00
2 2022-03-27 01:00:00+01:00
3 NaT
4 2022-03-27 03:00:00+02:00
5 2022-03-27 04:00:00+02:00
6 2022-03-27 05:00:00+02:00
Name: Time, dtype: datetime64[ns, Europe/Stockholm]
請參閱文檔以獲取不同的選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.