Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更改pandas中多个datetime列的时区信息_Python_Pandas_Datetime - Fatal编程技术网

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是在多个列上广播每列操作的实际方式,如果一个内置函数它还不存在。。。