Python | Pandas tseries.offsets.CustomBusinessHour.rollback

Las compensaciones de fecha son un tipo estándar de incremento de fecha utilizado para un rango de fechas en Pandas. Funciona exactamente como relativedelta en términos de los argumentos de palabra clave que pasamos. DateOffets funciona de la siguiente manera, cada compensación especifica un conjunto de fechas que se ajustan a DateOffset. Por ejemplo, Bday define este conjunto como el conjunto de fechas que son días laborables (MF).

Se pueden crear DateOffsets para adelantar fechas un número determinado de fechas válidas. Por ejemplo, se puede agregar Bday(2) a una fecha para adelantarla dos días hábiles. Si la fecha no comienza en una fecha válida, primero se mueve a una fecha válida y luego se crea una compensación.

La función Pandas tseries.offsets.CustomBusinessHour.rollback()se usa para retroceder la fecha proporcionada al siguiente desplazamiento solo si no está en el desplazamiento.

Sintaxis: pandas.tseries.offsets.CustomBusinessHour.rollback(dt)

Parámetro:

dt: fecha

Devoluciones: retroceder

Ejemplo n.º 1: use pandas.tseries.offsets.CustomBusinessHour.rollback()la función para hacer retroceder la fecha proporcionada si no está compensada.

# importing pandas as pd
import pandas as pd
  
# Creating Timestamp
ts = pd.Timestamp('2019-4-23 11:15:00')
  
# Create an offset
cbh = pd.tseries.offsets.CustomBusinessHour(n = 2, weekmask = 'Mon Tue Wed Thu',
                                           start ='12:00')
  
# Print the Timestamp
print(ts)
  
# Print the Offset
print(cbh)

Producción :

Ahora agregaremos el desplazamiento al objeto de marca de tiempo dado para incrementar el valor de fecha y hora. También comprobaremos si la fecha dada está compensada o no. De lo contrario, retrocederemos la fecha dada hasta el siguiente desplazamiento.

# Adding the offset to the given timestamp
new_timestamp = ts + cbh
  
# Print the updated timestamp
print(new_timestamp)
  
# roll backward if not on offset
result = cbh.rollback(pd.Timestamp('2019-4-28 11:15:00'))
  
# print the result
print(result)

Producción :

Como podemos ver en el resultado, hemos creado con éxito un desplazamiento y lo hemos agregado a la marca de tiempo dada. También hemos hecho retroceder la fecha hasta la siguiente compensación.

Ejemplo n.º 2: use pandas.tseries.offsets.CustomBusinessHour.rollback()la función para hacer retroceder la fecha proporcionada si no está compensada.

# importing pandas as pd
import pandas as pd
  
# Creating Timestamp
ts = pd.Timestamp('2019-4-23 11:15:00')
  
# Create an offset
cbh = pd.tseries.offsets.CustomBusinessHour(start ='07:00', end ='14:00')
  
# Print the Timestamp
print(ts)
  
# Print the Offset
print(cbh)

Producción :

Ahora agregaremos el desplazamiento al objeto de marca de tiempo dado para incrementar el valor de fecha y hora. También comprobaremos si la fecha dada está compensada o no. De lo contrario, retrocederemos la fecha dada hasta el siguiente desplazamiento.

# Adding the offset to the given timestamp
new_timestamp = ts + cbh
  
# Print the updated timestamp
print(new_timestamp)
  
# roll backward if not on offset
result = cbh.rollback(pd.Timestamp('2019-4-28 11:15:00'))
  
# print the result
print(result)

Producción :

Como podemos ver en el resultado, hemos creado con éxito un desplazamiento y lo hemos agregado a la marca de tiempo dada. También hemos hecho retroceder la fecha hasta la siguiente compensación.

Publicación traducida automáticamente

Artículo escrito por Shubham__Ranjan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *