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 la 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 de Pandas tseries.offsets.BusinessDay.rollforward()
avanza la fecha proporcionada hasta el próximo desplazamiento solo si no está en el desplazamiento.
Sintaxis: pandas.tseries.offsets.BusinessDay.rollforward(dt)
Parámetro :
dt : dtDevoluciones: marca de tiempo
Ejemplo n.º 1: use pandas.tseries.offsets.BusinessDay.rollforward()
la función para avanzar la fecha proporcionada al siguiente desplazamiento si no está en el desplazamiento.
# importing pandas as pd import pandas as pd # Creating Timestamp ts = pd.Timestamp('2019-10-10 07:15:11') # Create an offset of 5 Business days bd = pd.tseries.offsets.BusinessDay(n = 5) # Print the Timestamp print(ts) # Print the DateOffset print(bd)
Producción :
Ahora agregaremos el desplazamiento del día hábil al objeto de marca de tiempo dado para incrementar el valor de fecha y hora. También avanzaremos la fecha proporcionada al próximo desplazamiento si no está en el desplazamiento.
# Adding the Business day offset to the given timestamp new_timestamp = ts + bd # Print the updated timestamp print(new_timestamp) # roll the provided date forward if not # on the offset date = bd.rollforward(dt = pd.to_datetime('2010-02-13')) # print the date print(date)
Producción :
Como podemos ver en el resultado, creamos con éxito una compensación de 5 días hábiles y la agregamos a la marca de tiempo dada. También hemos adelantado la fecha proporcionada al próximo desplazamiento si no está en el desplazamiento.
Ejemplo n.º 2: use pandas.tseries.offsets.BusinessDay.rollforward()
la función para avanzar la fecha proporcionada al siguiente desplazamiento si no está en el desplazamiento.
# importing pandas as pd import pandas as pd # Creating Timestamp ts = pd.Timestamp('2019-10-10 07:15:11') # Create an offset of 10 Business days and 10 hours bd = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(days = 10, hours = 10)) # Print the Timestamp print(ts) # Print the DateOffset print(bd)
Producción :
Ahora agregaremos el desplazamiento del día hábil al objeto de marca de tiempo dado para incrementar el valor de fecha y hora. También avanzaremos la fecha proporcionada al próximo desplazamiento si no está en el desplazamiento.
# Adding the Business day offset to the given timestamp new_timestamp = ts + bd # Print the updated timestamp print(new_timestamp) # roll the provided date forward if not # on the offset date = bd.rollforward(dt = pd.to_datetime('2010-02-13')) # print the date print(date)
Producción :
Como podemos ver en el resultado, creamos con éxito una compensación de 10 días hábiles y 10 horas y la agregamos a la marca de tiempo dada. También hemos adelantado la fecha proporcionada al próximo desplazamiento si no está en el desplazamiento.
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