更改 pandas 中多个日期时间列的时区信息

nan*_*uuq 6 python datetime pandas

有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地/任何时区?

不是逐列进行吗?

cs9*_*s95 3

您可以有选择地将转换应用于所有日期时间列。首先,使用 选择它们select_dtypes,然后tz_convert在内部调用apply

df2 = df.select_dtypes('datetimetz')
df[df2.columns] = df2.apply(lambda x: x.dt.tz_convert(None))
Run Code Online (Sandbox Code Playgroud)

“datetimetz”选择所有带有时区信息的日期时间列。
替换tz_convert(None)tz_convert(your_timezone)以转换为不同的时区。

对于没有任何时区信息的普通日期时间对象,请tz_localize在调用 之前先使用当前时区进行调用tz_convert