Mit speziellen Datumsfunktionen und -methoden kannst Du in Pandas Zeitreihen analysieren, Berechnungen auf Basis von Zeitpunkten durchführen und verschiedene Datumsformate handhaben.
In diesem Tutorial lernst Du, wie Du Datums- und Zeitinformationen in Pandas effektiv verwendest.
Stelle sicher, dass Pandas installiert ist:
pip install pandas
Nun kannst Du mit den Funktionen und Methoden für Datum und Zeit in Pandas arbeiten.
Ein DataFrame kann Datums- und Zeitspalten enthalten, die entweder beim Erstellen des DataFrames definiert oder später hinzugefügt werden.
Verwende die Funktion pd.date_range
, um eine Folge von Datumswerten zu erstellen, die als Index oder Spalte im DataFrame verwendet werden können.
import pandas as pd
# Datumsbereich von 2023-01-01 bis 2023-01-10 mit täglicher Frequenz
dates = pd.date_range(start="2023-01-01", end="2023-01-10", freq="D")
df = pd.DataFrame({"Datum": dates, "Werte": range(10)})
print(df)
Hier wird eine Datumsreihe vom 1. bis zum 10. Januar 2023 erstellt und als Spalte Datum
im DataFrame gespeichert. Die Spalte Werte
enthält einige Beispielzahlen.
Oft kommen Datumsangaben in unterschiedlichen Formaten vor und müssen in ein Pandas-kompatibles Datumsformat umgewandelt werden. Die Funktion pd.to_datetime
konvertiert eine Spalte oder einen Wert in das datetime
-Format.
# Beispiel-Daten
data = {"Datum": ["2023-01-01", "2023-01-02", "2023-01-03"], "Werte": [10, 15, 20]}
df = pd.DataFrame(data)
# Umwandlung der Spalte "Datum" in das datetime-Format
df["Datum"] = pd.to_datetime(df["Datum"])
print(df.dtypes)
Diese Konvertierung stellt sicher, dass Pandas die Werte als Datum interpretiert und ermöglicht somit Zeitreihenoperationen und -berechnungen.
Pandas bietet verschiedene Methoden, um Datumswerte in DataFrames zu manipulieren und auf bestimmte Teile eines Datums zuzugreifen.
Mit den Attributen .dt.year
, .dt.month
und .dt.day
kannst Du auf spezifische Teile eines Datums zugreifen.
# Jahr, Monat und Tag extrahieren
df["Jahr"] = df["Datum"].dt.year
df["Monat"] = df["Datum"].dt.month
df["Tag"] = df["Datum"].dt.day
print(df)
Diese Methode fügt dem DataFrame drei neue Spalten hinzu, die das Jahr, den Monat und den Tag aus der Datum
-Spalte enthalten.
Pandas ermöglicht es Dir, Datumsdifferenzen zu berechnen, was z. B. bei der Analyse von Zeitintervallen hilfreich ist.
# Differenz zwischen aufeinanderfolgenden Daten berechnen
df["Differenz_in_Tagen"] = df["Datum"].diff().dt.days
print(df)
Die Methode .diff()
berechnet die Differenz zwischen aufeinanderfolgenden Zeilen in der Datum
-Spalte. In Kombination mit .dt.days
wird die Differenz in Tagen angezeigt.
In Zeitreihenanalysen ist es üblich, einen Datumsindex zu verwenden. Pandas ermöglicht Dir, Datumswerte als Index zu setzen, was den Zugriff auf bestimmte Zeiträume vereinfacht.
# Datum als Index festlegen
df = df.set_index("Datum")
print(df)
Jetzt ist das Datum
der Index des DataFrames. Du kannst Datumsabfragen und -filter verwenden, um nur bestimmte Zeiträume anzuzeigen.
Mit einem Datumsindex kannst Du gezielt nach bestimmten Zeiträumen filtern.
# Filtern nach einem bestimmten Zeitraum
df_filtered = df["2023-01-02":"2023-01-04"]
print(df_filtered)
Dieser Filter zeigt nur die Daten vom 2. bis zum 4. Januar 2023 an. Pandas erkennt automatisch den Datumsbereich und filtert entsprechend.
Das Resampling ermöglicht es Dir, Daten auf eine bestimmte Frequenz anzupassen, z. B. wöchentliche oder monatliche Daten aus täglichen Daten zu erzeugen. Dies ist hilfreich, um aggregierte Trends über Zeiträume hinweg zu erkennen.
# Resampling auf wöchentliche Summe
df_weekly = df.resample("W").sum()
print(df_weekly)
Die Methode .resample("W").sum()
summiert die Daten für jede Woche und gibt die aggregierten Werte zurück.
"D"
für täglich"W"
für wöchentlich"M"
für monatlich"Q"
für vierteljährlich"A"
für jährlichMit Pandas kannst Du Zeitreihen verschieben, um Daten zu vergleichen oder verzögerte Effekte zu analysieren.
# Werte um eine Zeile nach unten verschieben
df["Verschobene_Werte"] = df["Werte"].shift(1)
print(df)
Hier wird die Spalte Werte
um eine Zeile nach unten verschoben, was bei der Analyse von Verzögerungen in Zeitreihen nützlich ist.
Für genauere Zeitstempel kannst Du das datetime
-Format mit Stunden, Minuten und Sekunden verwenden. Zeitintervalle werden in Pandas ebenfalls unterstützt und können für detailliertere Analysen verwendet werden.
# Beispiel-Daten mit Zeitstempel
data = {"Zeit": ["2023-01-01 10:00", "2023-01-01 11:00", "2023-01-01 12:00"], "Werte": [100, 150, 120]}
df = pd.DataFrame(data)
# Konvertierung in datetime-Format
df["Zeit"] = pd.to_datetime(df["Zeit"])
print(df)
Finden Sie interessante und zum Thema passende Kurse
Beginnen Sie Ihre Programmierkarriere mit unserem Python-Einführungskurs. Erlernen Sie grundlegende Konzepte wie Variablen, Schleifen und Datenstrukturen und bauen Sie eine solide Basis in Python auf. Durch praxisnahe Projekte und kompetente Anleitung entwickeln Sie wertvolle Programmierfähigkeiten.
5 Tage Vollzeit auch als Feierabendkurs Online
Nächster Termin: 20. Januar 2025
Preis pro Person: 1600,00 EUR
Rabattaktion: 3 für den Preis von 2!
In diesem dreitägigen Data Science Seminar mit Python lernen Teilnehmer, wie sie Daten effizient mit Python-Datenstrukturen verarbeiten, analysieren und visualisieren. Die Schulung umfasst die Arbeit mit NumPy und Pandas sowie die Erstellung von aussagekräftigen Diagrammen mit Matplotlib.
3 Tage Vollzeit Online
Nächster Termin: noch kein Datum bekannt
Preis pro Person: 1200,00 EUR
Rabattaktion: 3 für den Preis von 2!
Dieses dreitägige SQL-Seminar vermittelt Anfängern die Grundlagen relationaler Datenbanken anhand von SQLite. Die ersten beiden Tage konzentrieren sich auf Datenbankdesign, Normalisierung, grundlegende SQL-Abfragen sowie Datenmanipulation mit INSERT, UPDATE und ER-Diagrammen. Am dritten Tag werden SQLAlchemy, Migrationen und ORM-Konzepte behandelt, einschließlich Benutzerrechte und grundlegender Optimierungstechniken.
3 Tage Vollzeit auch als Feierabendkurs Online
Nächster Termin: 10. Februar 2025
Preis pro Person: 1600,00 EUR
Rabattaktion: 3 für den Preis von 2!