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