📅  最后修改于: 2023-12-03 15:19:15.557000             🧑  作者: Mango
Series.dt.tz_convert
是Pandas库中Series对象的一个方法,用于将Series对象中的所有日期时间值从一种时区转换为另一种时区。该方法需要一个时区作为参数,将Series对象中所有的日期时间值都转换为该时区对应的时间值。
Series.dt.tz_convert(tz)[source]
tz
:要转换到的时区字符串或pytz时区对象。以下示例演示了如何使用Series.dt.tz_convert
将一个Series对象中的所有日期时间值从一个时区转换为另一个时区。
import pandas as pd
# 创建一个Series对象
dates = pd.Series(['2021-01-01 00:00:00', '2021-01-02 00:00:00', '2021-01-03 00:00:00'])
# 将Series对象中的日期时间值设置为美国纽约时区(东部标准时间)的时间值
dates = pd.to_datetime(dates, format='%Y-%m-%d %H:%M:%S').dt.tz_localize('US/Eastern')
# 将Series对象中的日期时间值从美国纽约时区转换为UTC时区
dates = dates.dt.tz_convert('UTC')
print(dates)
输出:
0 2021-01-01 05:00:00+00:00
1 2021-01-02 05:00:00+00:00
2 2021-01-03 05:00:00+00:00
dtype: datetime64[ns, UTC]
在上面的示例中,我们首先创建了一个Series对象,并将其设置为美国纽约时区的日期时间值。然后,我们使用Series.dt.tz_convert
方法将日期时间值从美国纽约时区转换为UTC时区。最后,我们打印输出了转换后的结果。
Series.dt.tz_convert
方法只能将日期时间值从一种时区转换为另一种时区,并不会对Series对象本身进行修改。如果要修改Series对象本身的日期时间值,请使用Series.dt.tz_localize
方法将日期时间值设置为所需的时区。
如果要使用Series.dt.tz_convert
方法,需要确保Series对象中的所有日期时间值都带有时区信息,否则会出现错误。如果日期时间值没有时区信息,可以使用Series.dt.tz_localize
方法将其设置为所需的时区。