How to set time zone of values ​​in Pandas DataFrame?

I would like to set the time zone of column values ​​in a Pandas DataFrame. I am reading a DataFrame with pandas.read_csv ().

+8
timezone numpy pandas
source share
1 answer

You can read dates as UTC directly from read_csv by setting the date_parser function manually, for example:

 from dateutil.tz import tzutc from dateutil.parser import parse def date_utc(s): return parse(s, tzinfos=tzutc) df = read_csv('my.csv', parse_dates=[0], date_parser=date_utc) 

.

If you are creating time series, you can use the tz date_range argument:

 dd = pd.date_range('2012-1-1 1:30', periods=3, freq='min', tz='UTC') In [2]: dd Out[2]: <class 'pandas.tseries.index.DatetimeIndex'> [2012-01-01 01:30:00, ..., 2012-01-01 01:32:00] Length: 3, Freq: T, Timezone: UTC 

.

If your DataFrame / Series is already an index for timers, you can use the tz_localize method to set the time zone:

 df.tz_localize('UTC') 

or if it already has a time zone, use tz_convert :

 df.tz_convert('UTC') 
+11
source share

All Articles