Pandas : Comment obtenir le trimestre à partir de la date
Vous pouvez utiliser les méthodes suivantes pour obtenir le trimestre à partir d’une date dans un DataFrame pandas :
Méthode 1 : obtenir le trimestre à partir de la date (format année et trimestre)
df['quarter'] = pd.PeriodIndex(df.date, freq='Q')
Si la date se situe au premier trimestre de 2022, cela renverra le trimestre dans un format tel que 2022Q1 .
Méthode 2 : obtenir le trimestre à partir de la date (format de numéro de trimestre)
df['quarter'] = df['date'].dt.quarter
Si la date est au premier trimestre 2022, cela renverra simplement la valeur 1 .
Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le DataFrame pandas suivant :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'date': pd.date_range(start='1/1/2022', freq='M', periods=14),
'sales': [6, 8, 10, 5, 4, 8, 8, 3, 5, 14, 8, 3, 10, 12]})
#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
10 2022-11-30 8
11 2022-12-31 3
12 2023-01-31 10
13 2023-02-28 12
Exemple 1 : obtenir le trimestre à partir de la date (format année et trimestre)
Nous pouvons utiliser le code suivant pour créer une nouvelle colonne appelée trimestre qui extrait le trimestre de la colonne date au format année et trimestre :
#create new column that displays year and quarter from date column
df['quarter'] = pd.PeriodIndex(df.date, freq='Q')
#view updated DataFrame
print(df)
date sales quarter
0 2022-01-31 6 2022Q1
1 2022-02-28 8 2022Q1
2 2022-03-31 10 2022Q1
3 2022-04-30 5 2022Q2
4 2022-05-31 4 2022Q2
5 2022-06-30 8 2022Q2
6 2022-07-31 8 2022Q3
7 2022-08-31 3 2022Q3
8 2022-09-30 5 2022Q3
9 2022-10-31 14 2022Q4
10 2022-11-30 8 2022Q4
11 2022-12-31 3 2022Q4
12 2023-01-31 10 2023Q1
13 2023-02-28 12 2023Q1
La nouvelle colonne appelée trimestre contient le trimestre de la colonne date au format année et trimestre.
Exemple 2 : obtenir le trimestre à partir de la date (format de numéro de trimestre)
Nous pouvons utiliser le code suivant pour créer une nouvelle colonne appelée trimestre qui extrait le trimestre de la colonne date au format numérique du trimestre.
#create new column that displays quarter from date column
df['quarter'] = df['date'].dt.quarter
#view updated DataFrame
print(df)
date sales quarter
0 2022-01-31 6 1
1 2022-02-28 8 1
2 2022-03-31 10 1
3 2022-04-30 5 2
4 2022-05-31 4 2
5 2022-06-30 8 2
6 2022-07-31 8 3
7 2022-08-31 3 3
8 2022-09-30 5 3
9 2022-10-31 14 4
10 2022-11-30 8 4
11 2022-12-31 3 4
12 2023-01-31 10 1
13 2023-02-28 12 1
La nouvelle colonne appelée trimestre contient le numéro du trimestre de la colonne de date dans un format de numéro de trimestre.
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