2014-11-24 19 views
5

Vorrei convertireConversione stringa di datetime a datetime in NumPy (python)

['17-10-2010 07:15:30', '13-05-2011 08:20:35', "15-01-2013 09:09:09"] 

in un oggetto Numpy datetime.

import numpy as np 
[np.datetime64(x) for x in ['17-10-2010 07:15:30', '13-05-2011 08:20:35', "15-01-2013 09:09:09"]] 

sollevato ValueError: Could not convert object to NumPy datetime. Tuttavia, le seguenti opere come ho inteso

[np.datetime64(x) for x in ['2010-10-17 07:15:30', '2011-05-13 08:20:35', "2012-01-15 09:09:09"]] 

Come posso convertire il mio array in un formato che è conforme Numpy s' datetime64 funzione requisito?

Sto usando Numpy versione 1.7.0. in Python 3.4

risposta

5

Per quanto posso dire, np.datetime64 funziona solo con

strings in ISO 8601 date or datetime format

La funzione to_datetime in pandas sembra essere più flessibile:

import pandas as pd 
a=pd.to_datetime(['17-10-2010 07:15:30', '13-05-2011 08:20:35', "15-01-2013 09:09:09"]) 

Di Naturalmente puoi facilmente riconvertire in numpy:

np.array(a,dtype=np.datetime64) 
+1

np.array (a, dtype = np.datetime64) è ottimo ma restituisce '17 -10-2010T07: 15: 30 ', come renderlo '17 -10-2010 07:15:30 '? – Lisa

Problemi correlati