CommencerCommencer gratuitement

Regrouper les mois en trimestres

Nous avons vu comment découper des trimestres en mois pour obtenir des informations mensuelles plus détaillées. Mais que se passe-t-il dans le cas inverse, lorsque nous souhaitons combiner des données en moins de colonnes ? C’est classique avec des données historiques, lorsque le détail mensuel n’est pas indispensable, ou lorsque nous avons besoin d’une version très consolidée des données pour un rapport.

L’idée clé est de créer un index, puis de n’ajouter au total du trimestre quarter que par cycles de 3, ou jusqu’à la longueur de la liste. Nous pouvons le faire avec le code suivant :

if index % 3 == 0 or index == len(months):

Ce code vérifie si l’index divisé par trois donne un reste de 0, ou si l’index est arrivé à la fin de la liste months. Ainsi, dans une boucle, il exécutera le code indiqué tous les trois mois ou lorsqu’il atteindra la fin de la liste.

Les ventes mensuelles sont déjà fournies dans le code via months, qui contient les ventes des deux premiers trimestres ainsi que le premier mois du T3. Votre tâche est de générer une nouvelle liste appelée quarters qui contient les totaux trimestriels à partir des trois premiers mois (ce qui inclut le total partiel du T3).

Cet exercice fait partie du cours

Prévisions financières en Python

Afficher le cours

Instructions

  • Initialisez une liste vide quarters pour contenir les nouvelles valeurs trimestrielles, et une variable d’index index à 1.

  • Créez une boucle for pour parcourir les sales mensuelles dans months :

    • Ajoutez les ventes du mois à quarter.
    • Si c’est la fin du trimestre ou la fin de la liste months, ajoutez votre total trimestriel à quarters.
    • Réinitialisez le total trimestriel quarter à 0, incrémentez l’index de 1 (cela a été fait pour vous).
  • Affichez les totaux trimestriels.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Create a months list, as well as an index, and set the quarter to 0
months = [100, 100, 150, 250, 300, 10, 20]
quarter = 0
____ = ____
____ = ____

# Create for loop for quarter, print result, and increment the index
for sales in months:
    quarter += ____
    if index % ____ == ____ or index == len(____):
        ____.append(____)
        quarter = 0
    index = index + 1
    
print("The quarter totals are Q1: {}, Q2: {}, Q3: {}".format(quarters[0], ____, ____))
Modifier et exécuter le code