So geben sie das format in pandas.to_datetime an
Sie können die Funktion pandas.to_datetime() verwenden, um eine Zeichenfolgenspalte in eine Datums-/Uhrzeitspalte in einem Pandas-DataFrame zu konvertieren.
Wenn Sie diese Funktion verwenden, können Sie das Formatargument verwenden, um das Format Ihres Datums anzugeben, um Fehler bei der Konvertierung von String in Datetime zu vermeiden.
Diese Funktion verwendet die folgende grundlegende Syntax:
df[' datetime '] = pd. to_datetime (df[' my_date_column '], format=' %m%d%Y %H:%M:%S '])
Hier sind die häufigsten Anweisungen, die Sie für das Formatargument bereitstellen können:
- %m : Monat als Zahl mit Null (01, 02, … 12)
- %d : Tag des Monats als Zahl mit Null (01, 02, … 31)
- %y : Jahr mit Jahrhundert als Zahl (2020, 2021, 2022 usw.)
- %H : Stunde (24-Stunden-Uhr) als mit Nullen aufgefüllte Zahl (00, 01, … 23)
- %I : Zeit (12-Stunden-Uhr) als mit Nullen aufgefüllte Zahl (01, 02, … 12)
- %p : Entweder AM oder PM
- %M : Minute in Form einer mit Nullen ergänzten Zahl (00, 01, … 59)
- %S : Sekunde in Form einer mit Nullen ergänzten Zahl (00, 01, … 59)
Eine vollständige Liste der Richtlinien finden Sie auf dieser Seite .
Das folgende Beispiel zeigt, wie das Formatargument in der Funktion to_datetime() in verschiedenen Szenarien verwendet wird.
Beispiel: Geben Sie das Format in pandas.to_datetime an
Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über die Gesamtverkäufe enthält, die zu verschiedenen Terminen in einem Einzelhandelsgeschäft getätigt wurden:
import pandas as pd #createDataFrame df = pd. DataFrame ({' date ': ['10012023 4:15:30', '10042023 7:16:04', '10062023 9:25:00', '10142023 15:30:50', '10152023 18:15:00'], ' sales ': [100, 140, 235, 120, 250]}) #view DataFrame print (df) dirty dates 0 10012023 4:15:30 100 1 10042023 7:16:04 140 2 10062023 9:25:00 235 3 10142023 15:30:50 120 4 10152023 18:15:00 250 #view data type of each column in DataFrame print ( df.dtypes ) date object dirty int64 dtype:object
Wir können sehen, dass die Datumsspalte derzeit eine Zeichenfolgenspalte (dh ein Objektspalte) ist.
Angenommen, wir versuchen , pandas.to_datetime() zu verwenden, um diese Spalte in datetime zu konvertieren:
#attempt to convert date column to datetime format
df[' date '] = pd. to_datetime (df[' date '])
ParserError: month must be in 1..12: 10012023 4:15:30 present at position 0
Wir erhalten eine Fehlermeldung, weil die Funktion pandas.to_datetime() das Datums- und Uhrzeitformat, in dem sich die Datumsspalte derzeit befindet, nicht erkennt.
Wir können auch das Argument format verwenden, um das Format der Spalte anzugeben:
#convert date column to datetime format
df[' date '] = pd. to_datetime (df[' date '], format=' %m%d%Y %H:%M:%S ')
#view DataFrame
print (df)
dirty dates
0 2023-10-01 04:15:30 100
1 2023-10-04 07:16:04 140
2 2023-10-06 09:25:00 235
3 2023-10-14 15:30:50 120
4 2023-10-15 18:15:00 250
#view updated type of each column
print ( df.dtypes )
date datetime64[ns]
dirty int64
dtype:object
Wir können sehen, dass die Datumsspalte erfolgreich in eine Datums-/Uhrzeitspalte konvertiert wurde und wir keine Fehler erhalten haben, da wir das Formatargument verwendet haben, um das genaue Format der Datumsspalte anzugeben.
Hinweis : Die vollständige Dokumentation der Pandas to_datetime() -Funktion finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:
So erstellen Sie einen Datumsbereich in Pandas
So konvertieren Sie den Zeitstempel in Pandas in Datum/Uhrzeit
So berechnen Sie eine Differenz zwischen zwei Daten in Pandas