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

Ajouter un commentaire

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