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