pandas.DataFrame.tz_convert#
- 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-Write will be enabled by default, which means that all methods with a copy 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