Erstellen eine Liste mit Datumsbereichen in Python

Fariba Laiq 10 Oktober 2023
  1. Verwenden von Pandas zum Erstellen einer Liste mit Datumsbereichen in Python
  2. Erstellen die Liste der Datumsbereiche manuell in Python
Erstellen eine Liste mit Datumsbereichen in Python

Wir werden einige Methoden zum Generieren einer Liste mit einem Datumsbereich vorstellen. Eine Möglichkeit, dies zu tun, ist die Verwendung der Bibliothek pandas. Pandas hat direkte Unterstützung bei der Erfüllung der Aufgabe. Die andere Möglichkeit besteht darin, Ihre eigene Logik manuell zu entwerfen, indem Sie die for-Schleife verwenden, um die Daten zu generieren.

Wir werden uns einige Beispiele ansehen, wie das Erstellen der Liste eines Datumsbereichs durch Eingabe des Startdatums und k Tage danach, oder wir können Startdatum und Enddatum eingeben.

Verwenden von Pandas zum Erstellen einer Liste mit Datumsbereichen in Python

Wir werden die Funktion date_range() von Pandas verwenden, in der wir das Startdatum und die Anzahl der Tage danach (bekannt als Perioden) übergeben. Auch hier haben wir die Bibliothek datetime verwendet, um das Datum zu formatieren, sodass wir das Datum in diesem Format DD-MM-YY ausgeben können. Wir können auch einen Zeitstempel zusammen mit dem Datum definieren.

Beispielcodes:

In diesem Beispiel übergeben wir das Startdatum im Format DD-MM-YY und Punkte. In der Ausgabe sehen wir also die Liste einer Reihe von Tagen ab dem Startdatum und die Anzahl der periods danach.

# python 3.x
import datetime
import pandas as pd

start = datetime.datetime.strptime("01-12-2021", "%d-%m-%Y")
date_generated = pd.date_range(start, periods=5)
print(date_generated.strftime("%d-%m-%Y"))

Ausgabe:

Index(['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021'], dtype='object')

Jetzt schauen wir uns ein weiteres Beispiel an, in dem wir das Startdatum und das Enddatum übergeben. Das Programm gibt den Datumsbereich zwischen diesen beiden Daten aus.

# python 3.x
import datetime
import pandas as pd

start = datetime.datetime.strptime("01-12-2021", "%d-%m-%Y")
end = datetime.datetime.strptime("07-12-2021", "%d-%m-%Y")
date_generated = pd.date_range(start, end)
print(date_generated.strftime("%d-%m-%Y"))

Ausgabe:

Index(['01-12-2021', '02-12-2021', '03-12-2021', '04-12-2021', '05-12-2021',
       '06-12-2021', '07-12-2021'],
      dtype='object')

Erstellen die Liste der Datumsbereiche manuell in Python

Mit Hilfe von for-Schleife und timedelta() können wir die Liste manuell generieren. timedelta() ist eine Funktion, die unter der Bibliothek datetime definiert ist. Delta bedeutet hier Differenz. Mit seiner Hilfe können wir Delta mit einem Datum addieren oder subtrahieren, um das nächste bzw. vorherige Datum zu erhalten. Nehmen wir an, wir haben ein Datum am 01-12-2021. Wenn wir jetzt 1 hinzufügen, wäre unser Datum der 12-02-2021. Wir werden diese Logik in der for-Schleife verwenden. Die For-Schleife wird iteriert, und wir fügen die Variable mit dem Startdatum hinzu, um das nächste Datum zu erhalten, und dann hängen wir das aktuell generierte Datum an unsere Liste an, bis wir unseren vollständigen Datumsbereich erhalten.

Beispielcode:

# python 3.x
import datetime

start = datetime.date(2021, 12, 10)
periods = 5
daterange = []
for day in range(periods):
    date = (start + datetime.timedelta(days=day)).isoformat()
    daterange.append(date)
print(daterange)

Ausgabe:

['2021-12-10', '2021-12-11', '2021-12-12', '2021-12-13', '2021-12-14']
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Verwandter Artikel - Python DateTime