Sloučení měsíců do čtvrtletí
Viděli jsme, jak postupovat při rozdělení čtvrtletí na měsíce pro získání podrobnějších dat. Ale co když potřebujeme opak – tedy sloučit data do menšího počtu sloupců? To se běžně stává při práci s historickými daty, kdy měsíční detail není nutný, nebo když potřebujeme vysoce konsolidovanou verzi dat pro report.
Klíčem je vytvoření indexu a přičítání k čtvrtletnímu součtu quarter vždy po třech cyklech nebo do konce seznamu. K tomu slouží následující kód:
if index % 3 == 0 or index == len(months):
Tento kód ověřuje, zda dělení indexu třemi dává zbytek 0, nebo zda jsme na konci seznamu months. Ve smyčce tedy provede zadaný kód každé tři měsíce nebo při dosažení konce seznamu.
Měsíční tržby jsou v kódu už připraveny jako months – obsahují tržby z prvních dvou čtvrtletí a také z prvního měsíce Q3. Tvým úkolem je vytvořit nový seznam quarters, který bude obsahovat čtvrtletní součty pro první tři záznamy (včetně dílčího součtu Q3).
Toto cvičení je součástí kurzu
Finanční prognózování v Pythonu
Pokyny k cvičení
Inicializuj prázdný seznam
quarterspro ukládání nových čtvrtletních hodnot a proměnnou indexuindexnastav na1.Vytvoř smyčku
forpro procházení měsíčních tržebsalesv seznamumonths:- Přičti měsíční tržby k hodnotě
quarter. - Pokud je konec čtvrtletí nebo konec seznamu
months, přidej čtvrtletní součet doquarters. - Vynuluj čtvrtletní součet
quarterna 0 a zvyš index o 1 (tato část je již hotová).
- Přičti měsíční tržby k hodnotě
Vypiš čtvrtletní součty.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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], ____, ____))