Essentiellement équivalent à @waitingkuo, mais j'utiliserais pd.to_datetime
ici (il semble un peu plus propre, et offre quelques fonctionnalités supplémentaires, par ex. dayfirst
) :
In [11]: df
Out[11]:
a time
0 1 2013-01-01
1 2 2013-01-02
2 3 2013-01-03
In [12]: pd.to_datetime(df['time'])
Out[12]:
0 2013-01-01 00:00:00
1 2013-01-02 00:00:00
2 2013-01-03 00:00:00
Name: time, dtype: datetime64[ns]
In [13]: df['time'] = pd.to_datetime(df['time'])
In [14]: df
Out[14]:
a time
0 1 2013-01-01 00:00:00
1 2 2013-01-02 00:00:00
2 3 2013-01-03 00:00:00
Manipulation ValueError
s
Si vous vous trouvez dans une situation où faire
df['time'] = pd.to_datetime(df['time'])
Lance un
ValueError: Unknown string format
Cela signifie que vous avez des valeurs non valides (non coercibles). Si vous êtes d'accord pour qu'elles soient converties en pd.NaT
vous pouvez ajouter un errors='coerce'
argument pour to_datetime
:
df['time'] = pd.to_datetime(df['time'], errors='coerce')