Pandas : Comment obtenir le jour de l’année à partir de la date



Vous pouvez utiliser la syntaxe de base suivante pour obtenir le jour de l’année à partir d’une colonne de date dans un DataFrame pandas :

df['day_of_year'] = df['date'].dt.dayofyear

Cet exemple particulier crée une nouvelle colonne appelée day_of_year qui contient le jour de l’année de la valeur dans la colonne date .

Notez que les valeurs de day_of_year seront comprises entre 1 (1er janvier) et 365 (31 décembre).

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : obtenir le jour de l’année à partir de la date dans Pandas

Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur les ventes totales réalisées dans un magasin à différentes dates :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'date': pd.date_range(start='1/1/2022', freq='M', periods=10),
                   'sales': [6, 8, 10, 5, 4, 8, 8, 3, 5, 14]})

#view DataFrame
print(df)

         date  sales
0  2022-01-31      6
1  2022-02-28      8
2  2022-03-31     10
3  2022-04-30      5
4  2022-05-31      4
5  2022-06-30      8
6  2022-07-31      8
7  2022-08-31      3
8  2022-09-30      5
9  2022-10-31     14

Connexe : Comment créer une plage de dates dans Pandas

Nous pouvons utiliser le code suivant pour créer une nouvelle colonne appelée day_of_year qui contient le jour de l’année à partir de la colonne date :

#create new column that contains day of year in 'date' column
df['day_of_year'] = df['date'].dt.dayofyear

#view updated DataFrame
print(df)

        date  sales  day_of_year
0 2022-01-31      6           31
1 2022-02-28      8           59
2 2022-03-31     10           90
3 2022-04-30      5          120
4 2022-05-31      4          151
5 2022-06-30      8          181
6 2022-07-31      8          212
7 2022-08-31      3          243
8 2022-09-30      5          273
9 2022-10-31     14          304

La nouvelle colonne appelée day_of_year contient le jour de l’année de la colonne date .

Il est à noter que si vous travaillez avec une année bissextile, cette fonction étendra automatiquement la plage de valeurs possibles de 365 à 366.

Notez également que si la colonne avec laquelle vous travaillez est une colonne de chaîne, vous devez d’abord utiliser pd.to_datetime() pour convertir les chaînes en dates reconnaissables :

#convert string column to datetime and calculate day of year
df['day_of_year'] = pd.to_datetime(df['date']).dt.dayofyear

Remarque : Vous pouvez trouver la documentation complète de la fonction pandas dayofyear ici .

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 sélectionner des lignes entre deux dates dans Pandas
Comment créer une colonne de date à partir de l’année, du mois et du jour dans Pandas

Ajouter un commentaire

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