ComenzarEmpieza gratis

Combinar meses en trimestres

Ya vimos qué hacer cuando queríamos dividir trimestres en meses para obtener información mensual más detallada. Pero ¿qué ocurre cuando pasa lo contrario y queremos agrupar datos en menos columnas? Esto es típico al trabajar con datos históricos, cuando los detalles mensuales pueden no ser necesarios, o cuando necesitamos una versión muy consolidada de los datos para un informe.

La clave aquí es crear un índice y sumar al total del trimestre quarter solo en ciclos de 3, o hasta la longitud de la lista. Podemos hacerlo con el siguiente código:

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

Este código comprueba si el índice dividido entre tres da un resto de 0, o si el índice está al final de la lista months. Así, en un bucle, ejecutará el código indicado cada tres meses o cuando llegue al final de la lista.

Las ventas mensuales ya están disponibles en el código como months, que contiene las ventas de los dos primeros trimestres y el primer mes de Q3. Tu tarea es generar una nueva lista llamada quarters que contenga los totales trimestrales a partir de los tres primeros meses (lo que incluye el total parcial de Q3).

Este ejercicio forma parte del curso

Financial Forecasting in Python

Ver curso

Instrucciones del ejercicio

  • Inicializa una lista vacía quarters para contener los nuevos valores trimestrales y una variable de índice index con valor 1.

  • Crea un bucle for para obtener las sales mensuales en months:

    • Suma las ventas mensuales a quarter.
    • Si es el final del trimestre o el final de la lista months, añade tu total trimestral a quarters.
    • Restablece el total trimestral quarter a 0, e incrementa el índice en 1 (esto ya está hecho por ti).
  • Imprime los totales trimestrales.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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], ____, ____))
Editar y ejecutar código