Erstellen eine Liste mit Datumsbereichen in Python
- Verwenden von Pandas zum Erstellen einer Liste mit Datumsbereichen in Python
- Erstellen die Liste der Datumsbereiche manuell 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']
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