2012-12-22 11 views

risposta

11

Si può leggere date come UTC direttamente da read_csv impostando la funzione date_parser manualmente, ad esempio:

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) 

.

Se si sta creando un timeseries, è possibile utilizzare il tz argomento date_range:

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 

.

Se il dataframe/Series è già indice da un timeseries, è possibile utilizzare il metodo tz_localize per impostare un fuso orario:

df.tz_localize('UTC') 

o se ha già un fuso orario, utilizzare tz_convert:

df.tz_convert('UTC') 
+0

Buon punto. Scusa, sto leggendo il DataFrame con pandas.read_csv(). – Yariv

+0

Scusa, non mi ero reso conto che il mio esempio fosse fuorviante finché non hai risposto. – Yariv

+0

Va bene, spero che questo ora risponda alla tua domanda :) –

Problemi correlati