Pandas Series: tz_localize() function

Localize tz-naive index of a Pandas Series

The tz_localize() function is used to localizes the Index. Localize tz-naive index of a Series or DataFrame to target time zone.

This operation localizes the Index. To localize the values in a timezone-naive Series, use Series.dt.tz_localize().


Series.tz_localize(self, tz, axis=0, level=None, copy=True, ambiguous='raise', nonexistent='raise')
Pandas Series tz_localize image


Name Description Type/Default Value Required / Optional
tz   String or pytz.timezone object string or pytz.timezone object Required
axis The axis to localize.    Required
level If axis ia a MultiIndex, localize a specific level. Otherwise must be None int, str,
Default Value: None
copy Also make a copy of the underlying data boolean
Default Value: True
ambiguous When clocks moved backward due to DST, ambiguous times may arise. For example in Central European Time (UTC+01), when going from 03:00 DST to 02:00 non-DST, 02:30:00 local time occurs both at 00:30:00 UTC and at 01:30:00 UTC. In such a situation, the ambiguous parameter dictates how ambiguous times should be handled.
  • ‘infer’ will attempt to infer fall dst-transition hours based on order
  • bool-ndarray where True signifies a DST time, False designates a non-DST time (note that this flag is only applicable for ambiguous times)
  • ‘NaT’ will return NaT where there are ambiguous times
  • ‘raise’ will raise an AmbiguousTimeError if there are ambiguous times
‘infer’, bool-ndarray, ‘NaT’
Default Value: ‘raise’

A nonexistent time does not exist in a particular timezone where clocks moved forward due to DST. Valid values are:

  • ‘shift_forward’ will shift the nonexistent time forward to the closest existing time
  • ‘shift_backward’ will shift the nonexistent time backward to the closest existing time
  • ‘NaT’ will return NaT where there are nonexistent times
  • timedelta objects will shift nonexistent times by the timedelta
  • ‘raise’ will raise an NonExistentTimeError if there are nonexistent times
Default Value: ‘raise’

Returns: Series or DataFrame
Same type as the input.

Raises: TypeError if the TimeSeries is tz-aware and tz is not None.


Download the above Notebook from here.

Previous: Resample Pandas time-series data
Next: Select all the values in a row at the particular time of the day