📜  Python| Pandas Series.tz_localize(1)

📅  最后修改于: 2023-12-03 14:46:23.055000             🧑  作者: Mango

Python | Pandas Series.tz_localize
简介

在Pandas中,Series.tz_localize是一个用于将时间序列(Series)的时区设置为指定时区的方法。该方法基于pytz库来处理时区转换。

语法
Series.tz_localize(tz, axis=0)
参数
  • tz:要设置的目标时区。可以是字符串表示的时区名,如'Asia/Shanghai',或直接传递一个时区对象(pytz.timezone)。
  • axis:表示要操作的轴。默认为0,表示在行上操作。
返回值

返回一个新的时间序列,该序列在指定的时区上进行了本地化。

示例
import pandas as pd

# 创建一个带有时区的时间序列
s = pd.Series(pd.date_range('2022-01-01', periods=3, freq='H'), name='Time')
s_tz = s.dt.tz_localize('UTC')

# 输出原始时间序列
print("原始时间序列:")
print(s)

# 输出设置时区后的时间序列
print("时区本地化后的时间序列:")
print(s_tz)

# 输出时间序列的时区信息
print("时间序列的时区信息:")
print(s_tz.dt.tz)

输出:

原始时间序列:
0   2022-01-01 00:00:00
1   2022-01-01 01:00:00
2   2022-01-01 02:00:00
Name: Time, dtype: datetime64[ns]
时区本地化后的时间序列:
0   2022-01-01 00:00:00+00:00
1   2022-01-01 01:00:00+00:00
2   2022-01-01 02:00:00+00:00
Name: Time, dtype: datetime64[ns, UTC]
时间序列的时区信息:
0    UTC
1    UTC
2    UTC
Name: Time, dtype: object
说明
  • tz_localize方法适用于带有时区的时间序列。
  • 如果时间序列已经具有时区信息,则可以直接使用该方法来更改时区。如果没有时区信息,则需要通过Series.dt.tz_localize方法将其转换为带有时区的时间序列。
  • 该方法不会原地修改已有的时间序列,而是返回一个新的时间序列,因此需要将结果赋值给一个变量。
注意事项
  • 当使用字符串表示的时区名进行本地化时,需要确保所使用的时区名在 pytz 库中存在。可以通过pytz.all_timezones获取所有可用的时区名。
参考资料