Heim > Backend-Entwicklung > Python-Tutorial > Wie kombiniere ich Datums- und Uhrzeitspalten in Pandas?

Wie kombiniere ich Datums- und Uhrzeitspalten in Pandas?

DDD
Freigeben: 2024-11-15 19:10:03
Original
826 Leute haben es durchsucht

How to Combine Date and Time Columns 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']
Nach dem Login kopieren

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'])
Nach dem Login kopieren

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')
Nach dem Login kopieren

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']])
Nach dem Login kopieren

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')
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage