pandas.Timestamp.tz_localize#

Timestamp.tz_localize(tz, ambiguous='raise', nonexistent='raise')#

将 Timestamp 本地化到某个时区。

将朴素 Timestamp 转换为本地时区或删除时区感知的 Timestamp 的时区。

Parameters:
tzstr, pytz.timezone, dateutil.tz.tzfile 或 None

Timestamp 将被转换为时间的时间区。None 将删除保留本地时间的时区。

歧义 (ambiguous)bool, ‘NaT’, default ‘raise’

当 DST 导致时钟倒转时,可能会出现歧义时间。 例如,在中欧时间(UTC+01),当从 03:00 DST 变为 02:00 非 DST 时,02:30:00 的本地时间会在 00:30:00 UTC 和 01:30:00 UTC 都出现。 在这种情况下,ambiguous 参数决定了如何处理歧义时间。

行为如下:

  • 布尔值包含标志,用于确定时间是否为夏令时(请注意,此标志仅适用于含糊的 DST 转换日期)。

  • ‘NaT’ 将为不明确的时间返回 NaT。

  • ‘raise’ 将为不明确的时间引发 AmbiguousTimeError。

不存在 (nonexistent)‘shift_forward’, ‘shift_backward, ‘NaT’, timedelta, 默认为 ‘raise’

由于 DST 导致时钟向前移动,某个时区中不存在的某个时间点。

行为如下:

  • ‘shift_forward’ 将将不存在的时间向前移至最近的可用时间。

  • ‘shift_backward’ 将将不存在的时间向后移至最近的可用时间。

  • ‘NaT’ 将在存在不存在时间的地方返回 NaT。

  • timedelta 对象将使用 timedelta 偏移不存在的时间。

  • ‘raise’ 如果存在不存在的时间,则会引发一个 NonExistentTimeError。

Returns:
本地化Timestamp
Raises:
TypeError

如果 Timestamp 是时区感知的,并且 tz 不是 None。

Examples

创建一个朴素时间戳对象:

>>> ts = pd.Timestamp('2020-03-14T15:32:52.192548651')
>>> ts
Timestamp('2020-03-14 15:32:52.192548651')

添加 ‘Europe/Stockholm’ 作为时区:

>>> ts.tz_localize(tz='Europe/Stockholm')
Timestamp('2020-03-14 15:32:52.192548651+0100', tz='Europe/Stockholm')

pd.NaT 的类似用法:

>>> pd.NaT.tz_localize()
NaT