Łączenie miesięcy w kwartały
Wiemy już, jak dzielić kwartały na miesiące, gdy potrzebujemy bardziej szczegółowych danych. Co jednak zrobić, gdy chcemy postąpić odwrotnie i połączyć dane w mniejszą liczbę kolumn? Taka potrzeba pojawia się często przy pracy z danymi historycznymi, gdy szczegółowe dane miesięczne nie są konieczne, lub gdy do raportu potrzebujemy mocno skondensowanej wersji danych.
Kluczem jest tu stworzenie indeksu, a następnie dodawanie wartości do sumy kwartalnej quarter co 3 iteracje lub aż do końca listy. Możesz to osiągnąć za pomocą poniższego kodu:
if index % 3 == 0 or index == len(months):
Ten warunek sprawdza, czy indeks podzielony przez trzy daje resztę równą 0, lub czy indeks wskazuje na koniec listy months. W pętli spowoduje to wykonanie wskazanego kodu co trzy miesiące albo po osiągnięciu końca listy.
Dane sprzedaży miesięcznej są już dostępne w kodzie jako months – zawierają sprzedaż z pierwszych dwóch kwartałów oraz pierwszego miesiąca Q3. Twoim zadaniem jest wygenerowanie nowej listy quarters zawierającej sumy kwartalne z pierwszych trzech pozycji (w tym częściową sumę Q3).
To ćwiczenie jest częścią kursu
Prognozowanie finansowe w Pythonie
Instrukcje do ćwiczenia
Zainicjuj pustą listę
quarters, która będzie przechowywać nowe wartości kwartalne, oraz zmienną indeksuindexustawioną na1.Utwórz pętlę
for, która będzie pobierać miesięczną sprzedażsalesz listymonths:- Dodaj miesięczną sprzedaż do
quarter. - Jeśli to koniec kwartału lub koniec listy
months, dołącz kwartalną sumę doquarters. - Zresetuj kwartalną sumę
quarterdo 0 i zwiększ indeks o 1 (ta część jest już gotowa).
- Dodaj miesięczną sprzedaż do
Wydrukuj kwartalne sumy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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], ____, ____))