pandas.Series.dt.tz_convert#
- Series.dt.tz_convert(*args, **kwargs)[源代码]#
将时区感知的时间数组/索引从一个时区转换为另一个时区。
- 参数:
- tzstr, zoneinfo.ZoneInfo, pytz.timezone, dateutil.tz.tzfile, datetime.tzinfo 或 None
时间的时间区域。相应的时间戳将被转换为日期时间数组/索引的此时间区域。tz 为 None 将转换为 UTC 并删除时区信息。
- 返回:
- 数组或索引
带有目标 tz 的 Datetme 数组/索引。
- 引发:
- TypeError
如果 Datetime 数组/索引是时区未知的。
参见
DatetimeIndex.tz
一个相对于UTC具有可变偏移量的时区。
DatetimeIndex.tz_localize
将 tz-naive 的 DatetimeIndex 本地化到给定时区,或者从 tz-aware 的 DatetimeIndex 中移除时区。
示例
使用 tz 参数,我们可以将 DatetimeIndex 更改为其他时区:
>>> dti = pd.date_range( ... start="2014-08-01 09:00", freq="h", periods=3, tz="Europe/Berlin" ... )
>>> dti DatetimeIndex(['2014-08-01 09:00:00+02:00', '2014-08-01 10:00:00+02:00', '2014-08-01 11:00:00+02:00'], dtype='datetime64[ns, Europe/Berlin]', freq='h')
>>> dti.tz_convert("US/Central") DatetimeIndex(['2014-08-01 02:00:00-05:00', '2014-08-01 03:00:00-05:00', '2014-08-01 04:00:00-05:00'], dtype='datetime64[ns, US/Central]', freq='h')
使用
tz=None
,我们可以移除时区(如有必要,先转换为 UTC):>>> dti = pd.date_range( ... start="2014-08-01 09:00", freq="h", periods=3, tz="Europe/Berlin" ... )
>>> dti DatetimeIndex(['2014-08-01 09:00:00+02:00', '2014-08-01 10:00:00+02:00', '2014-08-01 11:00:00+02:00'], dtype='datetime64[ns, Europe/Berlin]', freq='h')
>>> dti.tz_convert(None) DatetimeIndex(['2014-08-01 07:00:00', '2014-08-01 08:00:00', '2014-08-01 09:00:00'], dtype='datetime64[ns]', freq='h')