Python | Pandas tseries.offsets.BusinessHour.rollforward

| |

È possibile creare DateOffset per spostare le date di un numero specificato di date valide. Ad esempio, Bday (2) può essere aggiunto a una data per spostarla in avanti di due giorni lavorativi. Se la data non inizia con una data valida, viene prima spostata su una data valida e quindi viene generato un offset.

tseries.offsets.BusinessHour.rollforward() Panda tseries.offsets.BusinessHour.rollforward() data avanti fino al prossimo offset, a meno che non sia offset.

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

Parametro:
dt: data

Resi: rollforward

Esempio n. 1: Usa pandas.tseries.offsets.BusinessHour.rollforward () per far scorrere la data fornita in avanti fino all’offset successivo, a meno che non sia offset.

# importa panda come pd

importa panda come pd


# Crea un timestamp

ts = pd.Timestamp ( ’ 2019-10-10 11: 15: 00’ )


# Crea offset

bh = pd.tseries.offsets .BusinessHour (n = 5 )


# Stampa timestamp

p rint (ts)


# Stampa offset

print (bh)

Output:

Ora aggiungeremo l’offset dell’ora di lavoro a un oggetto timestamp per aumentare il valore datetime. Anticiperemo anche la data fornita all’offset successivo, se non all’offset.

# Aggiungi una differenza di orario lavorativo al timestamp specificato

new_timestamp = ts + bh

< p>
# Stampa timestamp aggiornato

print (new_timestamp)


# sposta la data in caso contrario
# per offset

risultato = bh.rollforward ( pd .to_datetime ( ’2010-02-13’ ))


# stampa il risultato

print (risultato)

Output:

Come possiamo vedere nell’output, abbiamo avuto successo ha creato un offset e l’ha aggiunto al timestamp specificato. abbiamo anche spostato la data fornita in avanti al prossimo offset.

Esempio n. 2: utilizza pandas.tseries.offsets.BusinessHour.rollforward () per scorrere le date fornite in avanti fino al prossimo offset, a meno che non sia offset.

# importa panda come pd

importa panda come pd


# Crea un timestamp

ts = pd.Timestamp ( ’ 10-10-2019 11:15:00’ )


# Crea offset

bh = serie pd.t. offsets.BusinessHour (offset = datetime.timedelta (ore = 1 ))


# Stampa timestamp

print ( ts)


# Stampa offset < /p>

print (bh)

Output:

Ora aggiungeremo uno scostamento orario lavorativo al oggetto timestamp specificato per aumentare il valore datetime. Inoltre, sposteremo la data fornita in avanti al prossimo offset se non offset.

# Aggiungi una differenza di orario lavorativo al timestamp specificato

new_timestamp = ts + bh

< p>
# Stampa timestamp aggiornato

print (new_timestamp)


# sposta la data in caso contrario
# per offset

risultato = bh.rollforward (pd .to_datetime ( ’2010-02-12 11: 00: 00’ ))


# stampa risultato

print (risultato)

< p>

Output:

Come vediamo in output, abbiamo creato con successo un offset e lo abbiamo aggiunto al timestamp fornito. La data trascorsa non è stata trasferita perché è a un offset.