Zacznij terazZacznij za darmo

Łą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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zainicjuj pustą listę quarters, która będzie przechowywać nowe wartości kwartalne, oraz zmienną indeksu index ustawioną na 1.

  • Utwórz pętlę for, która będzie pobierać miesięczną sprzedaż sales z listy months:

    • Dodaj miesięczną sprzedaż do quarter.
    • Jeśli to koniec kwartału lub koniec listy months, dołącz kwartalną sumę do quarters.
    • Zresetuj kwartalną sumę quarter do 0 i zwiększ indeks o 1 (ta część jest już gotowa).
  • 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], ____, ____))
Edytuj i uruchom kod