Función definida por el usuario para crear gráficos
En el último ejercicio, tuviste que escribir este código para crear el gráfico:
# Subconjunto de empresas tech y fmcg
subset_dat = dataset.loc[dataset["comp_type"].isin(["tech", "fmcg"])]
# Calcula la media anual del margen bruto de empresas tech y fmcg
subset_dat_avg = subset_dat.pivot_table(index=["Year", "comp_type"], values = "gross_margin").reset_index()
# Añade la columna company
subset_dat_avg["company"] = np.where(subset_dat_avg["comp_type"]=="tech", "Avg tech", "Avg fmcg")
# Concatena los DataFrames
plot_df = pd.concat([subset_dat, subset_dat_avg], axis=0)
# Crea el gráfico
sns.relplot(data=plot_df.reset_index(drop=True), x="Year", y="gross_margin", hue="company", col="comp_type", kind="line")
plt.show()
plt.close()
Fíjate en que realizamos las mismas acciones sobre los DataFrames de tech y FMCG en este ejercicio. Esto es repetitivo y va en contra de un principio de programación llamado DRY - Don't repeat yourself (no te repitas). El código repetitivo es negativo porque aumenta tu trabajo y hace que tu código sea más propenso a errores. En este ejercicio, definirás tu propia función para procesar datos y crear gráficos.
Este ejercicio forma parte del curso
Análisis de estados financieros en Python
Ejercicio interactivo práctico
Pon en práctica la teoría con uno de nuestros ejercicios interactivos
Empezar ejercicio