Comment créer une plage de dates dans Pandas (3 exemples)
Vous pouvez utiliser la fonction pandas.date_range() pour créer une plage de dates dans pandas.
Cette fonction utilise la syntaxe de base suivante :
pandas.date_range(début, fin, périodes, fréquence, …)
où:
- start : La date de début
- end : La date de fin
- périodes : Le nombre de périodes à générer
- freq : La fréquence à utiliser (reportez-vous à cette liste pour les alias de fréquence)
Les exemples suivants montrent comment utiliser cette fonction dans la pratique.
Exemple 1 : Créer une plage de dates avec des jours individuels
Le code suivant montre comment créer une plage de dates composée de jours individuels avec une date de début et de fin spécifique :
import pandas as pd #create 10-day date range pd.date_range(start='1/1/2020', end='1/10/2020') DatetimeIndex(['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04', '2020-01-05', '2020-01-06', '2020-01-07', '2020-01-08', '2020-01-09', '2020-01-10'], dtype='datetime64[ns]', freq='D')
Le résultat est une liste de 10 jours allant de la date de début spécifiée à la date de fin spécifiée.
Exemple 2 : Créer une plage de dates avec un nombre spécifique de périodes
Le code suivant montre comment créer une plage de dates comportant un nombre spécifique de périodes équidistantes entre une certaine date de début et de fin :
import pandas as pd #create 10-day date range with 3 equally-spaced periods pd.date_range(start='1/1/2020', end='1/10/2020', periods=3) DatetimeIndex(['2020-01-01 00:00:00', '2020-01-05 12:00:00', '2020-01-10 00:00:00'], dtype='datetime64[ns]', freq=None)
Le résultat est une liste de 3 jours équidistants allant de la date de début spécifiée à la date de fin spécifiée.
Exemple 3 : Créer une plage de dates avec une fréquence spécifique
Le code suivant montre comment créer une plage de dates qui commence à une date spécifique et a une fréquence de dates de début de six mois :
import pandas as pd #create date range with six month start dates pd.date_range(start='1/1/2020', freq='MS', periods=6) DatetimeIndex(['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01', '2020-05-01', '2020-06-01'], dtype='datetime64[ns]', freq='MS')
Le résultat est une liste de six dates espacées chacune d’un mois. Notez que « MS » signifie « Début du mois ». Vous pouvez trouver une liste complète des alias de date ici .
Le code suivant montre comment créer une plage de dates commençant à une date spécifique et ayant une fréquence annuelle :
import pandas as pd #create date range with six consecutive years pd.date_range(start='1/1/2020', freq='YS', periods=6) DatetimeIndex(['2020-01-01', '2021-01-01', '2022-01-01', '2023-01-01', '2024-01-01', '2025-01-01'], dtype='datetime64[ns]', freq='AS-JAN')
Le résultat est une liste de six dates espacées chacune d’un an.
Remarque : Vous pouvez trouver la documentation complète en ligne de la fonction pd.date_range() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes avec les dates dans les pandas :
Comment filtrer les lignes Pandas DataFrame par date
Comment trier un DataFrame Pandas par date
Comment extraire le mois de la date dans Pandas