Cómo usar PyGWalker con Gradio
pygwalker es una biblioteca de Python que convierte tus datos en una aplicación de visualización interactiva (como tableau o powerBI). Por ejemplo, en Juypter Notebook, los científicos de datos a menudo usan pygwalker para convertir datos en un módulo interactivo integrado en Juypter, donde pueden explorar visualizaciones utilizando arrastrar y soltar o lenguaje natural, sin escribir ningún código o cambiar a otras herramientas.
Sin embargo, ¿cómo compartir la visualización interactiva con otros? ¿Cómo permitir que tus usuarios exploren los datos por sí mismos? En este tutorial, te mostraremos cómo usar pygwalker con Gradio para construir una aplicación de exploración y compartición de datos.
¿Qué es Gradio?
Gradio (opens in a new tab) es una biblioteca de Python que te permite crear rápidamente componentes de interfaz de usuario personalizables alrededor de tus modelos de aprendizaje automático, modelos de aprendizaje profundo y otras funciones. Te permite construir una interfaz de usuario simple y compartible para tu modelo con solo unas pocas líneas de código. Gradio es una excelente herramienta para crear rápidamente una aplicación web para compartir tu modelo con otros.
Cómo usar PyGWalker con Gradio
Antes de comenzar a ejecutar pygwalker con Gradio, asegurémonos de que tu computadora tenga configurado un entorno de Python (versión 3.6 o superior). Una vez hecho esto, sigue estos sencillos pasos:
¡Genial! Ya has avanzado considerablemente. Te ayudaré a completar el artículo del tutorial con la información proporcionada.
Guía paso a paso para integrar PyGWalker con Gradio
1. Instalación
Antes de empezar, debes tener instaladas las bibliotecas pygwalker
y gradio
. Si aún no lo has hecho, es muy fácil con pip:
pip install pygwalker gradio
2. Importar bibliotecas necesarias
Importa todos los módulos esenciales que necesitarás, como se muestra en tu código:
import gradio as gr
import pygwalker as pyg
from datasets import load_dataset
3. Cargar tu conjunto de datos
Para este tutorial, estamos utilizando el conjunto de datos NYC-Airbnb de Gradio, pero siéntete libre de reemplazarlo por cualquier conjunto de datos que elijas:
dataset = load_dataset("gradio/NYC-Airbnb-Open-Data", split="train")
df = dataset.to_pandas()
4. Construir la interfaz de Gradio con PyGWalker
Utiliza la función Blocks de Gradio para encapsular los componentes de la interfaz de usuario, como se muestra en el código proporcionado:
with gr.Blocks() as demo:
gr.Label("Visualizar explorando los datos de NYC-Airbnb en PyGWalker y Gradio")
gr.Markdown("Esta es una aplicación de datos construida con la biblioteca pygwalker y gradio. Puedes usar operaciones de arrastrar y soltar para explorar los datos. ¡Comienza tu análisis ahora!")
gr.HTML(pyg.walk(dataset=df, spec="./viz-config.json", debug=False, return_html=True))
Aquí tienes una explicación:
gr.Label()
: Proporciona una etiqueta o título para tu interfaz de Gradio.gr.Markdown()
: Te permite incluir texto con formato markdown para descripciones detalladas o información.gr.HTML()
: Aquí es donde entra en juegopygwalker
. La funciónpyg.walk()
convierte el conjunto de datos en una visualización interactiva y luego se representa en la interfaz de Gradio a través de este componente HTML.
5. Iniciar la aplicación
Finalmente, con un simple comando, puedes iniciar la aplicación web:
demo.launch()
Al ejecutar el script, tu visualización interactiva de datos estará disponible en un navegador. Puedes explorar el conjunto de datos utilizando la funcionalidad de arrastrar y soltar o lenguaje natural (requiere la clave de API de kanaries para habilitar).
Una forma más nativa de integrar pygwalker con gradio
pygwalker contiene algunas características avanzadas, como el cómputo del kernel, que permiten un motor con alimentación de duckDB para acelerar la exploración de datos. Desde pygwalker versión>=0.3.10
, hay un soporte nativo para gradio.
from pygwalker.api.gradio import PYGWALKER_ROUTE, get_html_on_gradio
with gr.Blocks() as demo:
# cargar el conjunto de datos
dataset = load_dataset("gradio/NYC-Airbnb-Open-Data", split="train")
df = dataset.to_pandas()
pyg_app = get_html_on_gradio(df, spec="./viz-config.json")
gr.HTML(pyg_app)
app = demo.launch(app_kwargs={
"routes": [PYGWALKER_ROUTE]
})
Conclusión
Combinando el poder de pygwalker
y gradio
, puedes construir y compartir visualizaciones de datos interactivas rápidamente. No solo simplifica la exploración de datos, sino que también democratiza el acceso a los conocimientos obtenidos de los datos, permitiendo incluso a los usuarios sin conocimientos técnicos interactuar con tus descubrimientos. ¡Pruébalo y comparte tus conocimientos con el mundo!
Referencias
[1] Gradio (opens in a new tab) [2] Documentos de PyGWalker (opens in a new tab) [3] Gradio playground de pygwalker (opens in a new tab) [4] pygwalker en GitHub (opens in a new tab)