2016-06-22 6 views
1

Ich habe einen großen Datenrahmen mit einem Paar Spalten, eine für die Zeit und eine - Datum. Leider sind beide vom Datum-Uhrzeit-Typ bereits (wie "2016-01-01 00:00:00" und "1900-01-01 14:23:14" entsprechend in resultierendem csv)Schnelle vektorisierte datetime.combine()

Ich muss kombinieren sie zusammen, und es schnell zu tun. Die einzige Möglichkeit, die ich bisher gefunden habe, ist die Anwendung der Funktion "datetime.combine (xDATE.date, x.TIME.time)" entlang der Achse. Es ist jedoch ziemlich langsam. Gibt es eine schnellere Problemumgehung?

Antwort

1

Let:

df = pd.DataFrame([pd.DatetimeIndex(["2016-01-01 00:00:00", "1900-01-01 14:23:14"])] * 10000, columns=['DATE', 'TIME']) 

Dann:

df.DATE + (df.TIME - pd.DatetimeIndex(df.TIME).date)