Dateoffsets sind eine Standardart von Datumsinkrementen, die für einen Datumsbereich in Pandas verwendet werden. Es funktioniert genau wie relativedelta in Bezug auf die Schlüsselwortargumente, die wir übergeben. DateOffets funktionieren wie folgt. Jeder Offset gibt eine Reihe von Daten an, die dem DateOffset entsprechen. Beispielsweise definiert Bday diesen Satz als den Satz von Datumsangaben, die Wochentage (MF) sind.

DateOffsets können erstellt werden, um Datumsangaben um eine bestimmte Anzahl gültiger Datumsangaben zu verschieben. Beispielsweise kann Bday (2) zum Datum hinzugefügt werden, um es zwei Werktage vorwärts zu verschieben. Wenn das Datum nicht an einem gültigen Datum beginnt, wird es zuerst an ein gültiges Datum verschoben und dann ein Versatz erstellt.

Die Pandas- tseries.offsets.BusinessHour.rollforward()Funktionsrolle lieferte das Datum nur dann für den nächsten Versatz, wenn nicht für den Versatz.

Syntax: pandas.tseries.offsets.BusinessHour.rollforward()

Parameter:
dt: Datum



Rückgabe : rollforward

Beispiel 1: Verwenden Sie die pandas.tseries.offsets.BusinessHour.rollforward()Funktion, um das angegebene Datum nur dann auf den nächsten Versatz vorzurollen, wenn dies nicht der Versatz ist.

import pandas as pd 
  
ts = pd.Timestamp('2019-10-10 11:15:00') 
  
bh = pd.tseries.offsets.BusinessHour(n = 5) 
  
print(ts) 
  
print(bh) 

Ausgabe :

Jetzt fügen wir dem angegebenen Zeitstempelobjekt den Geschäftsstundenversatz hinzu, um den Datum / Uhrzeit-Wert zu erhöhen. Wir werden das angegebene Datum auch auf den nächsten Versatz vorverlegen, wenn nicht auf den Versatz.

new_timestamp = ts + bh 
  
print(new_timestamp) 
  
result = bh.rollforward( pd.to_datetime('2010-02-13')) 
  
print(result) 

Ausgabe :



Wie wir in der Ausgabe sehen können, haben wir erfolgreich einen Offset erstellt und ihn dem angegebenen Zeitstempel hinzugefügt. Wir haben auch das bereitgestellte Datum auf den nächsten Offset übertragen.

Beispiel 2: Verwenden Sie die pandas.tseries.offsets.BusinessHour.rollforward()Funktion, um das angegebene Datum nur dann auf den nächsten Versatz vorzurollen, wenn dies nicht der Versatz ist.

import pandas as pd 
  
ts = pd.Timestamp('2019-10-10 11:15:00') 
  
bh = pd.tseries.offsets.BusinessHour(offset = datetime.timedelta(hours = 1)) 
  
print(ts) 
  
print(bh) 

Ausgabe :

Jetzt fügen wir dem angegebenen Zeitstempelobjekt den Geschäftsstundenversatz hinzu, um den Datum / Uhrzeit-Wert zu erhöhen. Wir rollen das angegebene Datum auch auf den nächsten Versatz vor, wenn nicht auf Versatz.

new_timestamp = ts + bh 
  
print(new_timestamp) 
  
result = bh.rollforward( pd.to_datetime('2010-02-12 11:00:00')) 
  
print(result) 

Ausgabe :

Wie wir in der Ausgabe sehen können, haben wir erfolgreich einen Offset erstellt und ihn dem angegebenen Zeitstempel hinzugefügt. Das übergebene Datum wurde nicht vorverlegt, da es versetzt ist.