Pandas : obtenez des jours ouvrables entre le démarrage et & Date de fin



Vous pouvez utiliser les méthodes suivantes pour obtenir des jours ouvrables chez les pandas :

Méthode 1 : Obtenez les jours ouvrables (exclut tous les week-ends)

business_days = pd.bdate_range('2022-01-01', '2022-12-31')

Méthode 2 : Obtenez les jours ouvrables (exclut tous les week-ends et jours fériés fédéraux)

from pandas.tseries.holiday import USFederalHolidayCalendar
from pandas.tseries.offsets import CustomBusinessDay

#define US business days
us_bus = CustomBusinessDay(calendar=USFederalHolidayCalendar())

#get all business days between certain start and end dates
us_business_days = pd.bdate_range('2022-01-01', '2022-12-31', freq=us_bus)

Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.

Exemple 1 : Obtenez les jours ouvrables (exclut tous les week-ends)

Une façon d’obtenir une liste de jours ouvrables entre deux dates dans les pandas consiste à utiliser la fonction bdate_range() .

Il est à noter que cette fonction compte simplement le nombre de jours entre une date de début et une date de fin, hors week-end.

Par exemple, nous pouvons utiliser la syntaxe suivante pour compter le nombre de jours ouvrés entre le 1/1/2022 et le 31/12/2022 :

import pandas as pd

#get all business days between certain start and end dates
business_days = pd.bdate_range('2022-01-01', '2022-12-31')

#view first ten business days
print(business_days[0:10])

DatetimeIndex(['2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06',
               '2022-01-07', '2022-01-10', '2022-01-11', '2022-01-12',
               '2022-01-13', '2022-01-14'],
              dtype='datetime64[ns]', freq='B')

#view total number of business days
len(business_days)

260

L’objet appelé business_days contient chaque jour ouvrable entre les dates de début et de fin spécifiées.

Et en utilisant la fonction len() , nous voyons que le nombre total de jours ouvrables entre les dates de début et de fin spécifiées est de 260 .

Exemple 2 : Obtenez les jours ouvrables (exclut tous les week-ends et les jours fériés fédéraux)

Pour obtenir une liste des jours ouvrables entre deux dates dans pandas qui exclut à la fois les week-ends et les jours fériés fédéraux, nous devons utiliser les fonctions du module pandas tseries .

Par exemple, nous pouvons utiliser la syntaxe suivante pour compter le nombre de jours ouvrables (tous les jours hors week-end et jours fériés) entre le 1/1/2022 et le 31/12/2022 :

from pandas.tseries.holiday import USFederalHolidayCalendar
from pandas.tseries.offsets import CustomBusinessDay

#define US business days
us_bus = CustomBusinessDay(calendar=USFederalHolidayCalendar())

#get all business days between certain start and end dates
us_business_days = pd.bdate_range('2022-01-01', '2022-12-31', freq=us_bus)

#view first ten business days
print(us_business_days[0:10])

DatetimeIndex(['2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06',
               '2022-01-07', '2022-01-10', '2022-01-11', '2022-01-12',
               '2022-01-13', '2022-01-14'],
              dtype='datetime64[ns]', freq='C')

#view total number of business days
len(us_business_days)

250

L’objet appelé us_business_days contient tous les jours ouvrables (tous les jours à l’exception des week-ends et des jours fériés) entre les dates de début et de fin spécifiées.

Et en utilisant la fonction len() , nous voyons que le nombre total de jours ouvrables entre les dates de début et de fin spécifiées est de 250 .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment ajouter et soustraire des jours à une date dans Pandas
Comment convertir DateHeure en date dans Pandas
Comment extraire le mois de la date dans Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *