pandas.DataFrame.tz_convert#

DataFrame.tz_convert(tz, axis=0, level=None, copy=<no_default>)[源代码]#

将 tz-aware 轴转换为目标时区。

参数:
tzstr 或 tzinfo 对象 或 None

目标时区。传递 None 将转换为 UTC 并移除时区信息。

{0 或 ‘index’, 1 或 ‘columns’}, 默认 0

要转换的轴

levelint, str, 默认 None

如果 axis 是一个 MultiIndex,转换一个特定的层级。否则必须为 None。

复制bool, 默认 False

还要制作基础数据的副本。

备注

copy 关键字将在 pandas 3.0 中改变行为。写时复制 将被默认启用,这意味着所有带有 copy 关键字的方法将使用一种延迟复制机制来推迟复制并忽略 copy 关键字。copy 关键字将在 pandas 的未来版本中被移除。

通过启用写时复制 pd.options.mode.copy_on_write = True,您已经可以获得未来的行为和改进。

自 3.0.0 版本弃用.

返回:
Series/DataFrame

带有时区转换轴的对象。

引发:
TypeError

如果轴是 tz-naive。

参见

DataFrame.tz_localize

将 DataFrame 的本地化时区天真索引转换为目标时区。

Series.tz_localize

将 tz-naive 系列的索引本地化为目标时区。

例子

切换到另一个时区:

>>> s = pd.Series(
...     [1],
...     index=pd.DatetimeIndex(["2018-09-15 01:30:00+02:00"]),
... )
>>> s.tz_convert("Asia/Shanghai")
2018-09-15 07:30:00+08:00    1
dtype: int64

传递 None 以转换为 UTC 并获取一个时区无关的索引:

>>> s = pd.Series([1], index=pd.DatetimeIndex(["2018-09-15 01:30:00+02:00"]))
>>> s.tz_convert(None)
2018-09-14 23:30:00    1
dtype: int64