Wie konvertieren von string in datetime mit Nullen - python, pandas?

Habe ich eine Serie mit einigen datetimes (als strings) und einige Nullen als 'nan':

import pandas as pd, numpy as np, datetime as dt
df = pd.DataFrame({'Date':['2014-10-20 10:44:31', '2014-10-23 09:33:46', 'nan', '2014-10-01 09:38:45']})

Ich versuche zu konvertieren, diese zu datetime:

df['Date'] = df['Date'].apply(lambda x: dt.datetime.strptime(x, '%Y-%m-%d %H:%M:%S'))

aber ich bekomme die Fehlermeldung:

time data 'nan' does not match format '%Y-%m-%d %H:%M:%S'

Also ich versuchen, diese in eine tatsächliche null-Werte:

df.ix[df['Date'] == 'nan', 'Date'] = np.NaN

und wiederholen:

df['Date'] = df['Date'].apply(lambda x: dt.datetime.strptime(x, '%Y-%m-%d %H:%M:%S'))

aber dann bekomme ich die Fehlermeldung:

werden müssen, Schnur, Schwimmer nicht

Was ist der Schnellste Weg, dieses problem zu lösen?

InformationsquelleAutor Colin O'Brien | 2015-03-27

Schreibe einen Kommentar