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