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.
El rollo de función de Pandas tseries.offsets.CustomBusinessDay.rollforward()
proporcionó la fecha de avance al siguiente desplazamiento solo si no está en el desplazamiento.
Sintaxis: pandas.tseries.offsets.CustomBusinessDay.rollforward(dt)
Parámetro:
dt: fechaDevoluciones: avance si no está en compensación
Ejemplo n.º 1: use pandas.tseries.offsets.CustomBusinessDay.rollforward()
la función para avanzar la marca de tiempo dada 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 cbd = pd.tseries.offsets.CustomBusinessDay(weekmask = 'Mon Tue Wed') # Print the Timestamp print(ts) # Print the Offset print(cbd)
Producción :
Ahora agregaremos el desplazamiento al objeto de marca de tiempo dado para incrementar el valor de fecha y hora. También avanzaremos la marca de tiempo dada si no está compensada.
# Adding the offset to the given timestamp new_timestamp = ts + cbd # Print the updated timestamp print(new_timestamp) # roll forward if the given timestamp # is not on offset result = cbd.rollforward(pd.Timestamp('2019-4-21 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 avanzado la marca de tiempo dada, ya que no está compensada.
Ejemplo n.º 2: use pandas.tseries.offsets.CustomBusinessDay.rollforward()
la función para avanzar la marca de tiempo dada 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 cbd = pd.tseries.offsets.CustomBusinessDay(n = 3, weekmask = 'Mon Tue Wed Thu') # Print the Timestamp print(ts) # Print the Offset print(cbd)
Producción :
Ahora agregaremos el desplazamiento al objeto de marca de tiempo dado para incrementar el valor de fecha y hora. También avanzaremos la marca de tiempo dada si no está compensada.
# Adding the offset to the given timestamp new_timestamp = ts + cbd # Print the updated timestamp print(new_timestamp) # roll forward if the given timestamp # is not on offset result = cbd.rollforward(pd.Timestamp('2019-4-21 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 avanzado la marca de tiempo dada, ya que no está compensada.
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