PyGWalker를 Shiny-Python과 통합하는 방법
Shiny-Python
은 Python을 사용하여 대화형 웹 응용프로그램을 구축하는 훌륭한 프레임워크입니다. pygwalker
와 결합하면 데이터 기반의 대화형 웹 응용프로그램을 생성하는 새로운 가능성이 열립니다. 이 튜토리얼에서는 pygwalker
를 Shiny-Python
과 통합하는 과정을 안내합니다.
사전 요구사항:
shiny
와pygwalker
라이브러리가 설치되어 있는지 확인하세요. 다음 명령어를 사용하여 설치할 수 있습니다:
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
결론
pygwalker
를 Shiny-Python
과 통합함으로써 두 도구의 강력함을 활용하여 인상적인 대화형 데이터 시각화 웹 앱을 구축할 수 있습니다. 이는 풍부한 사용자 경험을 제공할 뿐만 아니라 더 넓은 관객이 데이터 인사이트에 참여할 수 있도록 합니다. 시작해보세요. 데이터셋의 잠재력을 발휘해보세요!