簡體   English   中英

Pandas:如何將本地時間轉換為 UTC?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM