ПочатиПочніть безкоштовно

Об'єднання місяців у квартали

Ми вже розглянули, що робити, коли потрібно розбити квартали на місяці для детальнішого щомісячного аналізу. Але що, як потрібно навпаки — об'єднати дані в меншу кількість стовпців? Це типово для історичних даних, коли деталі за місяцями можуть бути зайвими, або коли для звіту потрібна максимально агрегована версія даних.

Ключова ідея — створити індекс і додавати до квартального підсумку quarter лише в циклах по 3 або до досягнення довжини списку. Це можна зробити таким кодом:

if index % 3 == 0 or index == len(months):

Цей код перевіряє, чи ділення індексу на три дає остачу 0, або чи індекс знаходиться в кінці списку months. Отже, у циклі відповідний код виконуватиметься кожні три місяці або коли буде досягнуто кінець списку.

Щомісячні продажі вже задані в коді як months і містять дані за перші два квартали, а також за перший місяць Q3. Ваше завдання — згенерувати новий список quarters, що міститиме квартальні підсумки з перших трьох місяців (включно з частковим підсумком Q3).

Ця вправа є частиною курсу

Фінансове прогнозування в Python

Переглянути курс

Інструкції до вправи

  • Ініціалізуйте порожній список quarters для нових квартальних значень та змінну індексу index, встановлену в 1.

  • Створіть цикл for, щоб отримувати щомісячні sales зі списку months:

    • Додайте місячні продажі до quarter.
    • Якщо це кінець кварталу або кінець списку months, додайте квартальний підсумок до quarters.
    • Скиньте квартальний підсумок quarter до 0, збільшіть індекс на 1 (це вже зроблено за вас).
  • Виведіть квартальні підсумки.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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], ____, ____))
Редагувати та запускати код