NumPy konvertiert Datetime64 in Datetime.Datetime oder Timestamp
- das Problem
-
Konvertieren Sie
datetime.datetime
innp.datetime64
undpd.Timestamp
-
Konvertieren Sie
np.datetime64
indatetime.datetime
undpd.Timestamp
-
Wandeln Sie
Timestamp
indatetime
unddatetime64
um
Dieser Artikel soll zeigen, wie Daten zwischen numPy.datetim64
, datetime.datetime
und Timestamp
konvertiert werden.
das Problem
Beim Umgang mit Daten – ob geordnet oder ungeordnet – stößt man ziemlich häufig auf Datum und Uhrzeit. Je nach Situation muss mit Zeit und Datum in geeigneter Weise umgegangen werden, um sicherzustellen, dass die verarbeiteten Daten in einem gewünschten Format vorliegen.
Codebeispiel:
import datetime
import numpy as np
import pandas as pd
dt = datetime.datetime(2022, 5, 21)
ts = pd.DatetimeIndex([dt])[0]
dt64 = np.datetime64(dt)
Im obigen Code haben wir drei Module namens datetime
, numpy
und pandas
importiert, die jeweils ihre Implementierung zum Speichern und Verarbeiten von Daten bereitstellen (jedes hat seine eigenen unterschiedlichen Anwendungsfälle).
Mit datetime.datetime()
erstellen wir eine datetime
-Instanz und speichern sie in einer Variablen namens dt
. Was pandas
betrifft, haben wir die Methode pd.DatetimeIndex()
verwendet, die ein unveränderliches Array erstellt, das n
Anzahl von datetime64
-Instanzen speichert und beim Zugriff auf das erste Mitglied des Arrays eine Timestamp
-Instanz zurückgibt.
Kommen wir zum Modul pandas
, verwenden wir die Methode datetime64()
, um die Instanz datetime
zu konvertieren und in einer Variablen namens dt64
zu speichern.
Es ist einfach, datetime
in Timestamp
- und datetime64
-Instanzen umzuwandeln. In diesem Artikel werden wir nun sehen, wie wir np.datetime64
in datetime
- und Timestamp
-Instanzen umwandeln können.
Konvertieren Sie datetime.datetime
in np.datetime64
und pd.Timestamp
Codebeispiel:
import datetime
import numpy as np
import pandas as pd
dt = datetime.datetime(
year=2018, month=10, day=24, hour=4, minute=3, second=10, microsecond=7199
)
# convert datetime.datetime to np.datetim364
print(np.datetime64(dt))
# datetime.datetime to pd.Timestamp
print(pd.Timestamp(dt))
Ausgang:
2018-10-24T04:03:10.007199
2018-10-24 04:03:10.007199
Konvertieren Sie datetime. datetime
in datetime64
und Timestamp
, indem Sie die datetime
-Instanz an die Konstruktoren von datetime64
und Timestamp
übergeben, die konvertiert werden.
Konvertieren Sie np.datetime64
in datetime.datetime
und pd.Timestamp
Codebeispiel:
import datetime
import numpy as np
import pandas as pd
# np.datetime64 to datetime.datetime
dt64 = np.datetime64("2017-10-24 05:34:20.123456")
unix_epoch = np.datetime64(0, "s")
one_second = np.timedelta64(1, "s")
seconds_since_epoch = (dt64 - unix_epoch) / one_second
print(datetime.datetime.utcfromtimestamp(seconds_since_epoch))
# np.datetime64 to Timestamp
print(pd.Timestamp(dt64))
Ausgang:
2017-10-24 05:34:20.123456
2017-10-24 05:34:20.123456
Um von np.datetime64
in datetime.datetime
zu konvertieren, müssen wir zuerst die datetime64
-Daten in Sekunden (im Epochenformat) konvertieren. Nach der Konvertierung werden die Sekunden an die datetime
-Methode namens utcfromtimestamp
übergeben, die die Epochenzeit liest und in eine Instanz von datetime
konvertiert.
Was np.datetime64
zu Timestamp
betrifft, ist es relativ einfach, übergeben Sie einfach die np.datetime64
-Instanz an den Timestamp
-Konstruktor.
Wandeln Sie Timestamp
in datetime
und datetime64
um
Codebeispiel:
import datetime
import numpy as np
import pandas as pd
ts = pd.Timestamp("2017-10-24 04:24:33.654321")
# Timestamp to datetime.datetime
print(ts.to_pydatetime())
# Timestamp to np.datetime64
print(ts.to_datetime64())
Ausgang:
2017-10-24 04:24:33.654321
2017-10-24T04:24:33.654321000
Mit Hilfe dieser Funktionen lässt sich Timestamp
mit nur einem einzigen Methodenaufruf einfach in datetime
und datetime64
umwandeln. Verwenden Sie zum Konvertieren von Timestamp
in datetime.datetime
die Methode to_pydatetime()
. Sie konvertiert die Timestamp
-Instanz in eine datetime. datetime
-Instanz.
Verwenden Sie für die Konvertierung von Timestamp
in datetime
die Methode to_datetime64()
. Es konvertiert die Timestamp
-Instanz in eine np.datetime64
-Instanz.
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn