Alle Daten werden zu Beginn automatisch mit einem „DOB“ (Geburtsdatum) versehen. Daher ist es unvermeidlich, dass bei der Verarbeitung von Daten irgendwann Datums- und Uhrzeitdaten auftreten. Dieses Tutorial führt Sie durch das Datetime-Modul in Python und die Verwendung einiger Peripheriebibliotheken wie Pandas und Pytz.
In Python wird alles, was mit Datum und Uhrzeit zu tun hat, vom datetime-Modul verarbeitet, das das Modul weiter in 5 verschiedene Klassen unterteilt. Klassen sind einfach Datentypen, die Objekten entsprechen. Die folgende Abbildung fasst die fünf Datetime-Klassen in Python zusammen mit häufig verwendeten Eigenschaften und Beispielen zusammen.
Aufgrund der alphanumerischen Natur von Datums- und Uhrzeitangaben wird das Parsen ähnlicher Datums- und Uhrzeitangaben in Python häufig als Zeichenfolgen interpretiert. In diesem Abschnitt erklären wir, wie Sie eine Liste von Zeichenfolgen in das Datum/Uhrzeit-Format analysieren und wie Sie Datums- und Uhrzeitdaten in einzelne Spalten in einem Datenrahmen aufteilen und kombinieren.
Ausdruck von Snippet 1
Aber was ist, wenn die Datums- und Uhrzeitangaben ungewöhnlich oder mehrdeutig formatiert sind? Eine häufig gestellte Frage ist der Unterschied zwischen der Schreibweise von Datums- und Uhrzeitangaben in den USA und in Europa. Im amerikanischen Format steht der Monat an erster Stelle, während im europäischen Format der Tag an erster Stelle steht.
Standardmäßig konvertiert to_datetime in Pandas Objekte in datetime, indem die vorherige Zahl mit weniger als 12 Ziffern (
Alternativ hilft die Methode strftime() dabei, die Datums- und Uhrzeitangabe zu formatieren, bevor die Zeichenfolge zurückgegeben wird. Im folgenden Beispiel werden die Bindestriche (-) zwischen den ursprünglichen Datums- und Uhrzeitangaben durch Backslashes (/) ersetzt und der numerische Monat (02) wird durch den abgekürzten englischen Begriff (Feb) ersetzt.
Da es viele Möglichkeiten gibt, Datumsangaben (Tag, Monat, Jahr) und Uhrzeiten (Stunden, Minuten, Sekunden) zu interpretieren, ist es wichtig, die verschiedenen Formatcodes zu verstehen. Die folgende Tabelle ist ein Spickzettel für häufig verwendete Formatcodes.
Ein Datetime-Objekt ohne Zeitzoneninformationen wird als „naiv“ bezeichnet, und ein Objekt mit Zeitzoneninformationen (normalerweise mit +HH:MM am Ende entsprechend GMT) wird als „bewusst“ betrachtet ". Pytz ist wahrscheinlich eine der umfassendsten Bibliotheken in Python und vereinfacht die Aufgabe der Zeitzonenberechnung. Der folgende Codeausschnitt zeigt Ihnen, wie Sie zwischen „naiven“ und „bewussten“ Datetime-Objekten konvertieren und unterschiedliche Zeitzonen verwenden können. Der letzte Teil des Codes zeigt auch, wie das angegebene datetime-Objekt in die lokale Zeitzone konvertiert wird. Dieses Beispiel zeigt Zeitzonencodes für Japan und Deutschland, andere Regionen finden Sie hier.
Ausgabe von Fragment 2
Manchmal müssen wir zwei Datums- und Uhrzeitangaben bedingt vergleichen. Stellen Sie sich vor, Sie haben zwei Datenrahmen. Der erste enthält nur eine Datums-/Uhrzeitspalte und der zweite enthält zwei Spalten, die Intervalle und andere Informationen in den verbleibenden Spalten darstellen. Ihr Ziel besteht darin, eine passende Datums- und Uhrzeitangabe aus dem ersten Datenrahmen zu finden, wenn diese in das Intervall des zweiten Datenrahmens fällt, und wenn ja, die anderen Spalten zu kopieren.
Eine Möglichkeit, dies zu erreichen, besteht darin, das Intervall zweier Datums- und Uhrzeitangaben mit pd.Interval zu komprimieren und sie dann als Indizes eines Datenrahmens zuzuweisen, der später zum bedingten Vergleich und Zuordnen von Datums- und Uhrzeitangaben verwendet werden kann. Dies kann erreicht werden, indem eine for-Schleife verwendet wird, um die gewünschten Spalten zu kopieren, wenn die Zeitbedingung erfüllt ist.
Originaltext: https://towardsdatascience.com/how-to-work-with-datetime-in-python-26d4092dc484
Das obige ist der detaillierte Inhalt vonSo verwenden Sie DateTime in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!