Python | Panda tseries.offsets.CustomBusinessDay.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.CustomBusinessDay.rollforward() Panda tseries.offsets.CustomBusinessDay.rollforward() ha fornito la data in avanti fino al prossimo offset, a meno che non sia offset.

Sintassi: pandas.tseries.offsets.CustomBusinessDay.rollforward (dt)

Parametro:
dt: data

Resi: rollforward se non in offset

Esempio n. 1: Usa pandas.tseries.offsets .CustomBusinessDay.rollforward () per scorrere in avanti il timestamp specificato se non è in offset.

# importa panda come pd

importa panda come pd


# Crea un timestamp

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


# Crea offset

cbd = pd.tseries. offsets.CustomBusinessDay (weekmask = ’lun mar mer’ )


# Stampa timestamp

print (ts)


# Stampa offset

stampa (cbd)

Output:

< img src = "http://espressocode.top/images/osnofkiygepcihi409982.jpg" />

Ora aggiungeremo un offset a questo oggetto timestamp per aumentare il valore datetime. Avvolgeremo anche il timestamp fornito se non è offset.

# Aggiunge un offset al timestamp specificato

new_timestamp = ts + cbd

< br /> # Stampa timestamp aggiornato

print (new_timestamp)


# rollback se il timestamp è impostato
# non offset

risultato = cbd.rollforward (pd.Timestamp ( ’2019-4-21 11: 15: 00’ ))


# stampa risultato

print (risultato)

Output:

Come possiamo vedere nell’output, abbiamo ha creato correttamente l’offset e l’ha aggiunto al timestamp specificato. Abbiamo anche spinto il timestamp specificato in quanto non è offset.

Esempio n. 2: utilizza pandas.tseries.offsets.CustomBusinessDay.rollforward () per scorrere in avanti il timestamp specificato se non è in offset.

# importa panda come pd

importa panda come pd


# Crea timestamp

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


# Crea offset

cbd = pd. tseries.offsets.CustomBusinessDay (n = 3 , weekmask = ’lun mar mer gio’ )

< p>
# Stampa timestamp

print (ts)


# Stampa offset

print (cbd)

< p> Output:

Ora aggiungeremo un offset all’oggetto timestamp specificato per incrementare il valore datetime. Effettueremo anche il rollback del timestamp fornito se non è compensato.

# Aggiunge un offset al timestamp specificato

new_timestamp = ts + cbd

< br /> # Stampa timestamp aggiornato

print (new_timestamp)


# rollback se il timestamp è impostato
# non offset

risultato = cbd.rollforward (pd.Timestamp ( ’2019-4-21 11: 15: 00’ ))


# stampa risultato

print (risultato)

Output:

Come possiamo vedere nell’output, abbiamo creato con successo un offset e lo abbiamo aggiunto all’ora dell’etichetta indicata. Abbiamo anche spostato il timestamp specificato in avanti poiché non è sfalsato.