Wie konvertiere ich eine numpy.datetime64
Objekt zu einem datetime.datetime
(oder Timestamp
)?
Im folgenden Code erstelle ich die Objekte datetime, timestamp und datetime64.
import datetime
import numpy as np
import pandas as pd
dt = datetime.datetime(2012, 5, 1)
# A strange way to extract a Timestamp object, there's surely a better way?
ts = pd.DatetimeIndex([dt])[0]
dt64 = np.datetime64(dt)
In [7]: dt
Out[7]: datetime.datetime(2012, 5, 1, 0, 0)
In [8]: ts
Out[8]: <Timestamp: 2012-05-01 00:00:00>
In [9]: dt64
Out[9]: numpy.datetime64('2012-05-01T01:00:00.000000+0100')
Hinweis: Es ist einfach, das Datum aus dem Zeitstempel zu ermitteln:
In [10]: ts.to_datetime()
Out[10]: datetime.datetime(2012, 5, 1, 0, 0)
Aber wie extrahieren wir die datetime
o Timestamp
von einer numpy.datetime64
( dt64
)?
.
Update: ein etwas unangenehmes Beispiel in meinem Datensatz (vielleicht das motivierende Beispiel) scheint zu sein:
dt64 = numpy.datetime64('2002-06-28T01:00:00.000000000+0100')
die sein sollten datetime.datetime(2002, 6, 28, 1, 0)
und nicht eine lange (!) ( 1025222400000000000L
)...