CommencezCommencez gratuitement

Regrouper des mois en trimestres

Nous avons vu quoi faire lorsqu'on voulait répartir les trimestres en mois pour obtenir des renseignements mensuels plus détaillés. Mais que se passe-t-il lorsque c'est l'inverse et que nous souhaitons combiner des données en moins de colonnes? C'est courant avec des données historiques, lorsque les détails mensuels ne sont pas nécessaires, ou quand il nous faut une version très consolidée des données pour un rapport.

L'élément clé ici est de créer un indice, puis d'ajouter au total trimestriel quarter seulement 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 la division de l'indice par trois donne un reste de 0, ou si l'indice est à 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 sous le nom 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).

Cette activité fait partie du cours

Prévision financière en Python

Voir le cours

Instructions de l’exercice

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

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

    • Ajoutez les ventes mensuelles à quarter.
    • S'il s'agit de la fin du trimestre ou de la fin de la liste months, ajoutez votre total trimestriel à quarters.
    • Réinitialisez le total trimestriel quarter à 0, incrémentez l'indice de 1 (cette partie est déjà faite pour vous).
  • Affichez les totaux trimestriels.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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