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')
Andy hayden
source share