是否有一种简单的方法可以将数据帧中的所有时间戳列转换为本地/任何时区? 难道不是一言一行吗?
答案 0 :(得分:2)
您可以有选择地将转换应用于所有日期时间列。首先,用select_dtypes
选择它们,然后在apply
内调用tz_convert
:
df2 = df.select_dtypes('datetimetz')
df[df2.columns] = df2.apply(lambda x: x.dt.tz_convert(None))
“ datetimetz”选择带有时区信息的所有datetime列。
将tz_convert(None)
替换为tz_convert(your_timezone)
,以转换为其他时区。
对于没有任何时区信息的普通日期时间对象,请先使用当前时区调用tz_localize
,然后再调用tz_convert
。