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
Instructions de l’exercice
Initialisez une liste vide
quarterspour contenir les nouvelles valeurs trimestrielles, et une variable d'indiceindexdéfinie à1.Créez une boucle for pour parcourir les
salesmensuelles dansmonths:- 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).
- Ajoutez les ventes mensuelles à
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], ____, ____))