Arbeiten mit Zeitintervallen (Timedeltas)

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab führen wir Sie durch den Prozess der Arbeit mit Zeitdifferenzen in Python mithilfe der pandas-Bibliothek. Eine Zeitdifferenz repräsentiert eine Zeitspanne oder einen Zeitunterschied. Wir werden verschiedene Möglichkeiten zur Konstruktion, Manipulation und Ausführung von Zeitdifferenzen erkunden.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie während des Lernens Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Importieren der erforderlichen Bibliotheken

Zunächst müssen wir die erforderlichen Bibliotheken importieren. In diesem Fall werden wir pandas und numpy verwenden.

## Import the required libraries
import pandas as pd
import numpy as np
import datetime

Ein Zeitintervall (Timedelta) erstellen

Lassen Sie uns ein Zeitintervall-Objekt erstellen, das eine Zeitspanne oder einen Zeitunterschied repräsentiert.

## Construct a timedelta object
pd.Timedelta("1 days 2 hours")

In ein Zeitintervall (Timedelta) umwandeln

Sie können einen Skalar, ein Array, eine Liste oder eine Serie im erkannten Zeitintervall-Format in einen Zeitintervall-Typ umwandeln.

## Convert a string to a timedelta
pd.to_timedelta("1 days 06:05:01.00003")

Operationen durchführen

Sie können mathematische Operationen auf Zeitintervallen (Timedeltas) durchführen.

## Subtract two timedeltas
s = pd.Series(pd.date_range("2012-1-1", periods=3, freq="D"))
s - s.max()

Attributezugriff

Sie können direkt auf verschiedene Komponenten des Zeitintervalls (Timedelta) zugreifen.

## Access the days attribute of a timedelta
tds = pd.Timedelta("31 days 5 min 3 sec")
tds.days

In eine ISO 8601-Dauer umwandeln

Sie können ein Zeitintervall (Timedelta) in einen ISO 8601-Dauerstring umwandeln.

## Convert a timedelta to an ISO 8601 Duration string
pd.Timedelta(days=6, minutes=50, seconds=3, milliseconds=10, microseconds=10, nanoseconds=12).isoformat()

Erstellen eines Zeitintervallindex (TimedeltaIndex)

Sie können einen Index mit Zeitintervallen (Timedeltas) erzeugen.

## Generate a timedelta index
pd.TimedeltaIndex(["1 days", "1 days, 00:00:05", np.timedelta64(2, "D"), datetime.timedelta(days=2, seconds=2)])

Verwenden des Zeitintervallindex (TimedeltaIndex)

Sie können den Zeitintervallindex (TimedeltaIndex) als Index von pandas-Objekten verwenden.

## Use the timedelta index as the index of a pandas series
s = pd.Series(np.arange(100), index=pd.timedelta_range("1 days", periods=100, freq="h"))

Ausführen von Operationen mit dem Zeitintervallindex (TimedeltaIndex)

Sie können Operationen mit dem Zeitintervallindex (TimedeltaIndex) ausführen.

## Add a timedelta index to a datetime index
tdi = pd.TimedeltaIndex(["1 days", pd.NaT, "2 days"])
dti = pd.date_range("20130101", periods=3)
(dti + tdi).to_list()

Neusamplen eines Zeitintervallindex (TimedeltaIndex)

Sie können Daten mit einem Zeitintervallindex (TimedeltaIndex) neu abtasten.

## Resample data with a timedelta index
s.resample("D").mean()

Zusammenfassung

In diesem Lab haben wir gelernt, wie man mit Zeitintervallen (Timedeltas) in Python mithilfe der pandas-Bibliothek umgeht. Wir haben behandelt, wie man einen Zeitintervall konstruiert, in einen Zeitintervall konvertiert, Operationen durchführt, Attribute zugreift, in ISO 8601-Dauer umwandelt, einen Zeitintervallindex erstellt, den Zeitintervallindex verwendet, Operationen mit dem Zeitintervallindex durchführt und einen Zeitintervallindex neu abtastet. Mit diesen Fähigkeiten können Sie in Ihren zukünftigen Datenanalyseaufgaben Zeitbasierte Daten effizient verarbeiten und manipulieren.