2013-06-16 17 views

risposta

214

Il modo più semplice è quello di utilizzare to_datetime:

df['col'] = pd.to_datetime(df['col']) 

Offre anche un argomento dayfirst per i tempi europei (ma attenzione this isn't strict).

Qui è in azione:

In [11]: pd.to_datetime(pd.Series(['05/23/2005'])) 
Out[11]: 
0 2005-05-23 00:00:00 
dtype: datetime64[ns] 

è possibile passare una specifica format:

In [12]: pd.to_datetime(pd.Series(['05/23/2005']), format="%m/%d/%Y") 
Out[12]: 
0 2005-05-23 
dtype: datetime64[ns] 
+0

grazie per il replay, posso definire il suo formato? come '% d /% m /% Y'? molto apprezzato – perigee

+0

Bene, afferma di avere quell'opzione ma penso che questo sia ignorato. : s –

+0

funziona, la stringa di formato funziona, grazie mille – perigee

6

Se la colonna della data è una stringa di formato '2017/01/01' voi puoi usare panda astype per convertirlo in datetime.

df['date'] = df['date'].astype('datetime64[ns]')

o utilizzare datetime64 [D] se si desidera giorno di precisione e non nanosecondi

print(type(df_launath['date'].iloc[0]))

rendimenti

<class 'pandas._libs.tslib.Timestamp'> la stessa di quando si utilizza pandas.to_datetime

Puoi provarlo con altri formatta quindi '% Y-% m-% d' ma almeno questo funziona.

Problemi correlati