Skip to content
PYGWALKER
튜토리얼
PyGWalker와 Gradio를 사용하는 방법

데모 (opens in a new tab)

PyGWalker와 Gradio를 사용하는 방법

PyGWalker는 데이터를 대화형 시각화 앱(예: Tableau 또는 PowerBI와 유사)로 변환하는 Python 라이브러리입니다. 예를 들어, 데이터 과학자들은 주피터 노트북에서 pygwalker를 사용하여 데이터를 대화형 모듈로 변환하여 시각화를 탐색할 수 있습니다. 코드 작성이나 다른 도구로 전환하지 않고도 드래그 앤 드롭 또는 자연어를 사용하여 시각화를 탐색할 수 있습니다.

그러나 대화형 시각화를 다른 사람들과 공유하는 방법은 어떻게 될까요? 사용자가 직접 데이터를 탐색할 수 있도록 어떻게 할까요? 이 튜토리얼에서는 pygwalker를 Gradio와 함께 사용하여 데이터 탐색 및 공유 앱을 구축하는 방법을 보여드리겠습니다.

Gradio란?

Gradio (opens in a new tab)는 머신러닝 모델, 딥러닝 모델 및 기타 함수 주위에 사용자 정의 가능한 UI 구성요소를 빠르게 생성할 수 있는 Python 라이브러리입니다. 몇 줄의 코드로 모델을 위한 간단하고 공유 가능한 UI를 만들 수 있습니다. Gradio는 모델을 다른 사람들과 공유하기 위한 웹 앱을 빠르게 생성하는 데 사용할 수 있는 훌륭한 도구입니다.

PyGWalker와 Gradio 사용 방법

먼저, PyGWalker를 Gradio와 함께 실행하기 전에 컴퓨터에 Python 환경이 설정되어 있는지 확인해야 합니다(버전 3.6 이상). 설정이 완료되었다면 다음 간단한 단계를 따르세요:

좋아요! 이미 상당한 진전을 이루었네요. 제공된 정보를 활용하여 튜토리얼 기사를 완성하는 데 도움을 드리겠습니다.

PyGWalker를 Gradio와 통합하는 단계별 가이드

1. 설치

시작하기 전에 pygwalkergradio 모두 설치되어 있어야 합니다. 아직 설치하지 않은 경우 pip를 사용하여 설치할 수 있습니다:

pip install pygwalker gradio

2. 필요한 라이브러리 가져오기

코드에서 보여진 대로 필요한 모든 모듈을 가져오세요:

import gradio as gr
import pygwalker as pyg
from datasets import load_dataset

3. 데이터셋 불러오기

이 튜토리얼에서는 Gradio의 NYC-Airbnb 데이터셋을 사용하지만, 선택한 데이터셋으로 변경하셔도 됩니다:

dataset = load_dataset("gradio/NYC-Airbnb-Open-Data", split="train")
df = dataset.to_pandas()

4. PyGWalker와 Gradio를 사용하여 인터페이스 구축하기

Gradio의 Blocks 기능을 사용하여 사용자 인터페이스 구성 요소를 캡슐화하세요. 제공된 코드와 같이 사용하세요:

with gr.Blocks() as demo:
    gr.Label("PyGWalker와 Gradio를 사용한 NYC-Airbnb 데이터 시각 탐색")
    gr.Markdown("이는 pygwalker와 gradio 라이브러리로 구축된 데이터 앱입니다. 데이터를 탐색하는 데 드래그 앤 드롭 작업을 사용할 수 있습니다. 분석을 시작하세요!")
    gr.HTML(pyg.walk(dataset=df, spec="./viz-config.json", debug=False, return_html=True))

아래는 각 요소에 대한 설명입니다:

  • gr.Label(): Gradio 인터페이스에 레이블 또는 제목을 제공합니다.
  • gr.Markdown(): 자세한 설명이나 정보를 위해 마크다운 형식의 텍스트를 포함할 수 있습니다.
  • gr.HTML(): 여기서 pygwalker가 필요합니다. pyg.walk() 함수는 데이터셋을 대화형 시각화로 변환한 다음, 이 HTML 구성 요소를 통해 Gradio 인터페이스에 렌더링됩니다.

5. 앱 실행

마지막으로, 한 줄의 간단한 명령으로 웹 앱을 실행할 수 있습니다:

demo.launch()

스크립트를 실행하면 대화형 데이터 시각화가 브라우저에서 사용할 수 있게 됩니다. 드래그 앤 드롭 기능이나 자연어를 사용하여 데이터셋을 탐색할 수 있습니다(카나리 API 키가 필요합니다).

데모 (opens in a new tab)

PyGWalker와 gradio를 통합하는 더 네이티브한 방법

pygwalker에는 데이터 탐색을 가속화하기 위해 duckDB를 활용하는 커널 계산과 같은 고급 기능이 포함되어 있습니다. pygwalker 버전>=0.3.10부터 gradio를 원활하게 지원합니다.

from pygwalker.api.gradio import PYGWALKER_ROUTE, get_html_on_gradio
 
with gr.Blocks() as demo:
    # 데이터셋 로드
    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]
})

결론

pygwalkergradio의 강력한 기능을 결합하여 대화형 데이터 시각화를 빠르게 구축하고 공유할 수 있습니다. 데이터 탐색을 간소화하는 뿐만 아니라 비기술적 사용자도 결과물과 상호 작용할 수 있도록하여 데이터 인사이트의 접근성을 더욱 높일 수 있습니다. 한 번 시도해보고 세계와 인사이트를 공유하세요!

참고 자료

[1] Gradio (opens in a new tab) [2] PyGWalker 문서 (opens in a new tab) [3] pygwalker + gradio Playground (opens in a new tab) [4] pygwalker GitHub (opens in a new tab)