Usando bibliotecas de visualización de Python populares Puede resultar relativamente sencillo crear gráficos y paneles de control locales de diferentes formas. Aunque puede resultar mucho más complicado compartir los resultados con otras personas en la web.
Un posible enfoque para hacer esto es utilizar bibliotecas como Streamlit, Matraz, Plotly Dash y pagar por un servicio de alojamiento web para cubrir el lado del servidor y ejecutar sus scripts de Python para mostrarlos en la página web. Alternativamente, algunos proveedores como Plotly Chart o Datapane también brindan soporte gratuito en la nube para que cargue sus visualizaciones de Python y luego las incruste en la web. En ambos escenarios, podrá lograr cualquier cosa que necesite si tiene un presupuesto pequeño para su proyecto, pero ¿hay alguna manera de que podamos lograr resultados similares de forma gratuita?
Como parte de este artículo, exploraremos 3 enfoques posibles:
Para mostrar cada uno de estos 3 enfoques, vamos a crear una aplicación sencilla para explorar datos históricos de inflación de todo el mundo. Para ello vamos a utilizar La base de datos global de inflación del Banco Mundial Toda la información sobre la licencia de los datos se puede encontrar en este enlace [1].
Una vez descargados los datos, podemos usar la siguiente función de preprocesamiento para darle mejor forma al conjunto de datos para su visualización e importar solo las 3 hojas de Excel que usaremos como parte del análisis (datos de inflación general, inflación de alimentos y precios de la energía).
import pandas as pddef import_data(name):
df = pd.read_excel("Inflation-data.xlsx", sheet_name=name)
df = df.drop(["Country Code", "IMF Country Code", "Indicator Type", "Series Name", "Unnamed: 58"], axis=1)
df = (df.melt(id_vars = ['Country', 'Note'],
var_name = 'Date', value_name = 'Inflation'))
df = df.pivot_table(index='Date', columns='Country',
values='Inflation', aggfunc='sum')
return df
inf_df = import_data("hcpi_a")
food_df = import_data("fcpi_a")
energy_df = import_data("ecpi_a")