pandas.DataFrame.tz_convert — pandas 2.2.3 documentation (original) (raw)

DataFrame.tz_convert(tz, axis=0, level=None, copy=None)[source]#

Convert tz-aware axis to target time zone.

Parameters:

tzstr or tzinfo object or None

Target time zone. Passing None will convert to UTC and remove the timezone information.

axis{0 or ‘index’, 1 or ‘columns’}, default 0

The axis to convert

levelint, str, default None

If axis is a MultiIndex, convert a specific level. Otherwise must be None.

copybool, default True

Also make a copy of the underlying data.

Note

The copy keyword will change behavior in pandas 3.0.Copy-on-Writewill be enabled by default, which means that all methods with acopy keyword will use a lazy copy mechanism to defer the copy and ignore the copy keyword. The copy keyword will be removed in a future version of pandas.

You can already get the future behavior and improvements through enabling copy on write pd.options.mode.copy_on_write = True

Returns:

Series/DataFrame

Object with time zone converted axis.

Raises:

TypeError

If the axis is tz-naive.

Examples

Change to another time zone:

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

Pass None to convert to UTC and get a tz-naive index:

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