maxframe.dataframe.Series.dt.tz_convert#
- Series.dt.tz_convert(tz) Self#
将具有时区信息的 Datetime Array/Index 从一个时区转换为另一个时区。
- 参数:
tz (str, zoneinfo.ZoneInfo, pytz.timezone, dateutil.tz.tzfile, datetime.tzinfo or None) -- 时间的时区。相应的 时间戳 将被转换为 Datetime Array/Index 的此 时区。tz 为 None 时将转换为 UTC 并移除时区信息。
- 返回:
Datetme Array/Index with target tz.
- 返回类型:
Array or Index
- 抛出:
TypeError -- 如果 Datetime Array/Index 是不具有时区信息的。
参见
DatetimeIndex.tz一个与 UTC 具有可变偏移量的时区。
DatetimeIndex.tz_localize将不具有时区信息的 DatetimeIndex 本地化为给定时区,或从具有时区信息的 DatetimeIndex 中移除时区。
示例
使用 tz 参数,我们可以将 DatetimeIndex 更改为其他时区:
>>> import maxframe.dataframe as md >>> dti = md.date_range( ... start="2014-08-01 09:00", freq="h", periods=3, tz="Europe/Berlin" ... )
>>> dti.execute() 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[us, Europe/Berlin]', freq='h')
>>> dti.tz_convert("US/Central").execute() 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[us, US/Central]', freq='h')
使用
tz=None,我们可以移除时区(如有必要会在转换为 UTC 后进行):>>> dti = md.date_range( ... start="2014-08-01 09:00", freq="h", periods=3, tz="Europe/Berlin" ... )
>>> dti.execute() 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[us, Europe/Berlin]', freq='h')
>>> dti.tz_convert(None).execute() DatetimeIndex(['2014-08-01 07:00:00', '2014-08-01 08:00:00', '2014-08-01 09:00:00'], dtype='datetime64[us]', freq='h')