Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment regrouper par trimestre dans Pandas DataFrame (avec exemple)



Vous pouvez utiliser la syntaxe de base suivante pour regrouper les lignes par trimestre dans un DataFrame pandas :

#convert date column to datetime
df['date'] = pd.to_datetime(df['date'])

#calculate sum of values, grouped by quarter
df.groupby(df['date'].dt.to_period('Q'))['values'].sum()

Cette formule particulière regroupe les lignes par trimestre dans la colonne de date et calcule la somme de la colonne de valeurs dans le DataFrame.

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

Exemple : Comment regrouper par trimestre dans Pandas

Supposons que nous ayons le DataFrame pandas suivant qui montre les ventes réalisées par une entreprise à différentes dates :

import pandas as pd

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

#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

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

On peut utiliser la syntaxe suivante pour calculer la somme des ventes regroupées par trimestre :

#convert date column to datetime and subtract one week
df['date'] = pd.to_datetime(df['date'])

#calculate sum of sales, grouped by quarter
df.groupby(df['date'].dt.to_period('Q'))['sales'].sum()

date
2022Q1    24
2022Q2    17
2022Q3    16
2022Q4    25
Freq: Q-DEC, Name: sales, dtype: int64

Voici comment interpréter le résultat :

  • Au total, 24 ventes ont été réalisées au cours du premier trimestre.
  • Au total, 17 ventes ont été réalisées au cours du deuxième trimestre.
  • Au total, 16 ventes ont été réalisées au cours du troisième trimestre.
  • Au total, 25 ventes ont été réalisées au cours du quatrième trimestre.

Nous pouvons utiliser une syntaxe similaire pour calculer une autre métrique, regroupée par trimestre.

Par exemple, nous pourrions plutôt calculer la valeur maximale des ventes, regroupées par trimestre :

#convert date column to datetime
df['date'] = pd.to_datetime(df['date'])

#calculate max of sales, grouped by quarter
df.groupby(df['date'].dt.to_period('Q'))['sales'].max()

date
2022Q1    10
2022Q2     8
2022Q3     8
2022Q4    14
Freq: Q-DEC, Name: sales, dtype: int64

Voici comment interpréter le résultat :

  • Les ventes maximales sur un mois individuel au cours du premier trimestre étaient de 10 .
  • Les ventes maximales sur un mois individuel au cours du deuxième trimestre étaient de 8 .
  • Les ventes maximales sur un mois individuel au cours du troisième trimestre étaient de 8 .
  • Les ventes maximales sur un mois individuel au cours du quatrième trimestre étaient de 14 .

Remarque : Vous pouvez trouver la documentation complète de l’opération groupby dans pandas ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment regrouper par mois dans Pandas DataFrame
Comment regrouper par semaine dans Pandas DataFrame
Pandas : Comment utiliser Groupby et compter avec condition

Ajouter un commentaire

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