Saltar al contenido

Determine si un día es un día hábil en Python / Pandas

Solución:

Ya que len de pd.bdate_range() nos dice cuántos días hábiles hay en el rango de fechas proporcionado, podemos convertir esto en un bool para determinar si un rango de un solo día es un día hábil:

def is_business_day(date):
    return bool(len(pd.bdate_range(date, date)))

Acabo de encontrar una solución diferente para esto. Esto puede ser interesante si desea encontrar el siguiente día hábil si su fecha no es un día hábil.

   bdays=BDay()
   def is_business_day(date):
       return date == date + 0*bdays

agregando 0*bdays avanza al siguiente día hábil, incluido el actual. Desafortunadamente, restando 0*bdays no retrocede (al menos con la versión de pandas que estaba usando).

Además, debido a este comportamiento, también debe tener cuidado, ya que no necesariamente
0*bdays + 1*bdays != 1*bdays

Usando al menos numpy versión 1.7.0., intente np.is_busday()

start = datetime.date.today().strftime("%Y-%m-%d")
end = datetime.date.today().strftime("%Y-%m-%d")

if start == end:

    # added code here
    if not np.is_busday(start):
        print("Not a Business day")
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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