Python 更改pandas中多个datetime列的时区信息
有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地/任意时区Python 更改pandas中多个datetime列的时区信息,python,pandas,datetime,Python,Pandas,Datetime,有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地/任意时区 不是逐列进行转换吗?您可以有选择地将转换应用于所有日期时间列。首先,使用选择它们,然后调用内部应用: df2 = df.select_dtypes('datetimetz') df[df2.columns] = df2.apply(lambda x: x.dt.tz_convert(None)) “datetimetz”选择包含时区信息的所有datetime列。 将tz\u convert(无)替换为tz\u convert
不是逐列进行转换吗?您可以有选择地将转换应用于所有日期时间列。首先,使用选择它们,然后调用内部
应用:
df2 = df.select_dtypes('datetimetz')
df[df2.columns] = df2.apply(lambda x: x.dt.tz_convert(None))
“datetimetz”选择包含时区信息的所有datetime列。
将tz\u convert(无)
替换为tz\u convert(您的时区)
以转换为不同的时区
对于没有任何时区信息的普通datetime对象,在调用tz\u convert
之前,首先使用当前时区调用,然后使用select\u数据类型选择所有时间戳列,然后对每个列应用tz\u localize。我认为您应该包括注释中的语句-对于幼稚的datetime对象,在调用tz_convert
更改时区之前,必须先进行tz_本地化。只需更正选择类型
。还有一个问题:我的时间列在ISO('2020-06-01T22:00:00Z'
)的位置,所以我必须逐一转换它们。还有一条捷径吗?@nanuuq你能解释一下“一个接一个”地转换它们是什么意思吗?如果你想说你有一列字符串而不是日期时间,你可以使用pd.to_datetime
来转换它。@cs95提出了一个新问题@nanuuq我赞同你在这个问题上得到的答案-df.apply是在多个列上广播每列操作的实际方式,如果一个内置函数它还不存在。。。