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