НачатьНачать бесплатно

Объединение месяцев в кварталы

Ранее мы рассмотрели, как разбивать кварталы на месяцы для получения детальной информации. Но что делать в обратной ситуации, когда нужно объединить данные в меньшее количество столбцов? Это типично при работе с историческими данными, когда помесячные детали не нужны или требуется максимально сжатое представление для отчёта.

Ключевая идея — создать индекс и прибавлять значения к квартальному итогу quarter циклами по 3 или до конца списка. Для этого используется следующий код:

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

Этот код проверяет, равен ли остаток от деления индекса на три нулю, или достигнут ли конец списка 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], ____, ____))
Редактировать и запускать код