Generar una data frame para 3 años con información de frutas que tenga una columna fecha, y dos columnas adicionales de frutas con información de ingresos. Calcular para cada trimestre, cuál es el valor minimo entre los meses con dos decimales, y establecer si ha crecido o disminuido en relación al año anterior y comparar con los trimestres del año anterior. Mostrar y guardar la tabla
Aquí te muestro un ejemplo de cómo podrías generar una data frame con la información que solicitas y realizar los cálculos que necesitas: ```python import pandas as pd import numpy as np from datetime import datetime, timedelta # Generar datos aleatorios para 3 años np.random.seed(0) data = { 'Fecha': [datetime(2020, 1, 1) + timedelta(days=i) for i in range(365*3)], 'Fruta1': np.random.uniform(0, 100, 365*3), 'Fruta2': np.random.uniform(0, 100, 365*3) } # Crear data frame df = pd.DataFrame(data) # Convertir la columna 'Fecha' a datetime df['Fecha'] = pd.to_datetime(df['Fecha']) # Agregar columnas para el trimestre y el año df['Trimestre'] = df['Fecha'].dt.to_period('Q') df['Año'] = df['Fecha'].dt.year # Agrupar por trimestre y calcular el valor mínimo df_grouped = df.groupby('Trimestre')[['Fruta1', 'Fruta2']].min() # Agregar columnas para comparar con el año anterior df_grouped['Crecimiento_Fruta1'] = df_grouped['Fruta1'].pct_change() df_grouped['Crecimiento_Fruta2'] = df_grouped['Fruta2'].pct_change() # Renombrar las columnas para que sean más descriptivas df_grouped = df_grouped.rename(columns={'Fruta1': 'Valor Mínimo Fruta1', 'Fruta2': 'Valor Mínimo Fruta2'}) # Mostrar la data frame print(df_grouped) # Guardar la data frame en un archivo CSV df_grouped.to_csv('frutas_trimestrales.csv', index=True) ``` Este código genera una data frame con 3 años de información de frutas, calcula el valor mínimo para cada trimestre y compara con el año anterior. La data frame se muestra en la consola y se guarda en un archivo CSV llamado `frutas_trimestrales.csv`. La data frame `df_grouped` tendrá las siguientes columnas: * `Trimestre`: el trimestre al que corresponden los valores * `Año`: el año al que corresponden los valores * `Valor Mínimo Fruta1`: el valor mínimo de la fruta 1 en cada trimestre * `Valor Mínimo Fruta2`: el valor mínimo de la fruta 2 en cada trimestre * `Crecimiento_Fruta1`: el crecimiento porcentual de la fruta 1 en relación con el año anterior * `Crecimiento_Fruta2`: el crecimiento porcentual de la fruta 2 en relación con el año anterior Es importante destacar que el valor mínimo se calcula para cada trimestre y no para cada mes. Si deseas calcular el valor mínimo para cada mes, debes cambiar la forma en que se agrupa la data frame.