Skip to content
PYGWALKER
튜토리얼
PyGWalker를 Shiny-Python과 통합하는 방법

PyGWalker를 Shiny-Python과 통합하는 방법

Shiny-Python은 Python을 사용하여 대화형 웹 응용프로그램을 구축하는 훌륭한 프레임워크입니다. pygwalker와 결합하면 데이터 기반의 대화형 웹 응용프로그램을 생성하는 새로운 가능성이 열립니다. 이 튜토리얼에서는 pygwalkerShiny-Python과 통합하는 과정을 안내합니다.

사전 요구사항:

  1. shinypygwalker 라이브러리가 설치되어 있는지 확인하세요. 다음 명령어를 사용하여 설치할 수 있습니다:
pip install shiny pygwalker

단계별 가이드:

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

먼저 필요한 모듈을 가져옵니다:

from shiny import App, ui
import pygwalker as pyg
from datasets import load_dataset

2. 데이터셋 로드하기

이 튜토리얼에서는 NYC-Airbnb 데이터셋을 사용하지만, 원하는 데이터셋으로 대체할 수 있습니다:

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

3. Shiny 사용자 인터페이스 설계하기

ui 컴포넌트를 사용하여 Shiny 애플리케이션의 사용자 인터페이스(UI)를 정의하세요:

app_ui = ui.page_fluid(
    ui.h1("Shiny와 함께 pygwalker 사용하기"),
    ui.markdown("이것은 [pygwalker](https://github.com/Kanaries/pygwalker)를 Shiny와 함께 사용하는 데모입니다."),
    ui.HTML(pyg.walk(df, spec="./viz-config.json", return_html=True, debug=False)),
)

다음은 UI 컴포넌트의 간략한 설명입니다:

  • ui.h1(): Shiny 앱에 헤더를 추가합니다.
  • ui.markdown(): 설명이나 추가 정보를 위해 마크다운 형식의 텍스트를 포함할 수 있습니다.
  • ui.HTML(): 이 부분에서 pygwalker이 사용됩니다. pyg.walk() 함수는 데이터셋을 대화형 시각화로 변환한 다음, 이 HTML 컴포넌트를 통해 Shiny 앱에서 렌더링됩니다.

4. 서버 함수 정의하기

이 예시에서는 서버 함수가 비어 있지만, 앱이 복잡해지면 더 많은 대화형 로직을 이 섹션에 추가할 수 있습니다.

def server(input, output, session):
    ...

5. 앱 인스턴스 생성 및 실행하기

마지막으로 Shiny 앱 인스턴스를 생성하고 실행합니다:

app = App(app_ui, server)

앱을 바로 실행하려면 다음 줄을 추가할 수 있습니다:

app.run()

또는

shiny run --reload

결론

pygwalkerShiny-Python과 통합함으로써 두 도구의 강력함을 활용하여 인상적인 대화형 데이터 시각화 웹 앱을 구축할 수 있습니다. 이는 풍부한 사용자 경험을 제공할 뿐만 아니라 더 넓은 관객이 데이터 인사이트에 참여할 수 있도록 합니다. 시작해보세요. 데이터셋의 잠재력을 발휘해보세요!

참고 자료

pygwalker-in-shiny 데모 코드 (opens in a new tab)