Heim >Backend-Entwicklung >Python-Tutorial >Wie kombiniere ich Datums- und Uhrzeitspalten in Pandas?
Datums- und Zeitspalten mit Pandas kombinieren
Bei der Arbeit mit zeitlichen Daten ist es oft notwendig, Datums- und Zeitspalten zu kombinieren, um eine einzige zu erhalten Zeitstempelwert. Pandas bietet verschiedene Optionen, um dies zu erreichen, einschließlich der Funktion pd.to_datetime().
Verketten von Zeichenfolgen und Verwenden von pd.to_datetime()
In einigen Szenarien Ihr Datum und Zeitspalten werden als Zeichenfolgen gespeichert. Um sie zu kombinieren, können Sie sie einfach wie folgt mit einem Leerzeichen verketten:
df['Date'] + ' ' + df['Time']
Sobald die Zeichenfolgen verkettet sind, können Sie sie mit pd.to_datetime() in ein DatetimeIndex-Objekt konvertieren:
pd.to_datetime(df['Date'] + ' ' + df['Time'])
Dieser Ansatz ermöglicht es Ihnen, das abgeleitete Format der verketteten Zeichenfolge zu nutzen, das typischerweise eine Kombination aus den Datums- und Zeitformaten der Person ist Spalten.
Verwenden des Parameters format=
Wenn Ihre Datums- und Uhrzeitzeichenfolgen jedoch nicht in einem standardisierten Format vorliegen oder Sie das Format explizit angeben möchten, Sie können den Parameter format= wie folgt verwenden:
pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y%H:%M:%S')
Hier geben Sie das genaue Format der verketteten Zeichenfolge an, um die Genauigkeit sicherzustellen Konvertierung.
Daten direkt analysieren
Alternativ zum Verketten von Zeichenfolgen können Sie die Datums- und Uhrzeitinformationen auch direkt mithilfe von pd.read_csv() mit dem Parameter parse_dates analysieren . Mit diesem Parameter können Sie eine Liste von Spalten angeben, die als Datetime-Objekte analysiert werden sollen.
Wenn Ihre Daten beispielsweise in einer CSV-Datei mit dem Namen „data.csv“ gespeichert sind:
import pandas as pd df = pd.read_csv("data.csv", parse_dates=[['Date', 'Time']])
In diesem Fall analysiert Pandas automatisch die angegebenen Spalten in einen DatetimeIndex.
Leistung Überlegungen
Bei der Arbeit mit großen Datensätzen ist die Leistung entscheidend. Das Verketten von Zeichenfolgen und deren anschließende Konvertierung in Datum/Uhrzeit dauert erheblich länger als das direkte Parsen der Datums- und Uhrzeitinformationen. Wie die folgenden Timing-Ergebnisse mit dem magischen Befehl %timeit zeigen:
# Sample dataframe with 10 million rows df = pd.concat([df for _ in range(1000000)]).reset_index(drop=True) # Time to combine strings and convert to datetime %timeit pd.to_datetime(df['Date'] + ' ' + df['Time']) # Time to parse dates directly %timeit pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y%H:%M:%S')
Die Ergebnisse zeigen, dass die direkte Analyse deutlich schneller ist, insbesondere bei großen Datensätzen.
Das obige ist der detaillierte Inhalt vonWie kombiniere ich Datums- und Uhrzeitspalten in Pandas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!