PyGWalker를 웹 앱으로 호스팅하고 공유하기 위한 상위 5개의 Python 라이브러리
현대의 빠른 데이터 중심 세계에서는 인사이트를 창출하는 것만큼이나 인사이트를 공유하는 것이 중요합니다. 데이터 과학에서 선도적인 언어인 Python은 데이터 분석 결과를 웹 앱으로 만들기 위한 다양한 라이브러리를 제공합니다. pygwalker
를 사용하여 대화형 시각화를 좋아하는 경우 운이 좋습니다! 이 블로그 글에서는 pygwalker
시각화를 웹 앱으로 호스팅하고 공유하기 위한 상위 5개의 라이브러리를 알아보겠습니다.
- Streamlit
- Gradio
- Dash
- Shiny-Python
- Flask
1. Streamlit
개요:
Streamlit (opens in a new tab)은 데이터 스크립트를 웹 앱으로 몇 분 안에 변환하여 공유할 수 있는 매우 인기 있는 Python 라이브러리입니다. Streamlit은 데이터 과학자를 위해 특별히 제작된 Flask로 생각할 수 있으며, 웹 개발의 복잡성에 대해 신경 쓰지 않고도 빠른 데이터 앱 개발을 가능하게 합니다. 더욱이, Streamlit은 pygwalker
를 실시간 웹 애플리케이션으로 변환하기 위한 원활한 플랫폼을 제공하여 정적 보고서뿐만 아니라 더 넓은 관객과 공유할 수 있도록 합니다. 사용자는 자신의 요구에 따라 질문을 하고 탐색을 계속할 수 있습니다.
주요 기능:
- 간편성: 몇 줄의 코드로 데이터 스크립트를 웹 앱으로 변환할 수 있습니다.
- 대화형 위젯: 슬라이더, 버튼 및 텍스트 입력란을 쉽게 추가하여 시각화를 조작할 수 있습니다.
- 핫 리로딩: 앱을 다시 시작하지 않고도 실시간으로 변경 사항을 확인할 수 있습니다.
PyGWalker 통합:
Streamlit과 PyGWalker는 강력한 조합을 제공합니다. pygwalker
의 최신 API는 Streamlit과 함께 사용하기 위한 기능을 제공하며, duckdb
계산 엔진과 같은 기능은 이들 조합에서만 사용할 수 있습니다. 다음은 단계별 통합 가이드입니다:
-
환경 설정: Python 3.6 이상이 설치되어 있는지 확인하십시오. 다음 명령을 사용하여 필요한 종속성을 설치하십시오:
pip install pandas pygwalker streamlit
-
PyGWalker를 Streamlit으로 포함시키기:
pygwalker_demo.py
라는 새로운 Python 스크립트를 만들고pygwalker.api.streamlit
의StreamlitRenderer
를 사용하여 원활한 통합을 위해 다음과 같이 사용합니다:from pygwalker.api.streamlit import StreamlitRenderer, init_streamlit_comm import pandas as pd import streamlit as st st.set_page_config( page_title="Streamlit에서 Pygwalker 사용하기", layout="wide" ) init_streamlit_comm() st.title("Streamlit에서 Pygwalker 사용하기") @st.cache_resource def get_pyg_renderer() -> "StreamlitRenderer": df = pd.read_csv("https://kanaries-app.s3.ap-northeast-1.amazonaws.com/public-datasets/bike_sharing_dc.csv") return StreamlitRenderer(df, spec="./gw_config.json", debug=False) renderer = get_pyg_renderer() renderer.render_explore()
-
Streamlit에서 데이터 탐색하기:
streamlit run pygwalker_demo.py
명령을 사용하여 Streamlit 앱을 실행합니다. 이 명령은 Streamlit 앱을 시작하며, PyGWalker의 직관적인 드래그 앤 드롭 기능을 사용하여 데이터를 대화형으로 시각화할 수 있습니다. -
PyGWalker 차트 상태 저장하기:
pygwalker
렌더러가 디버그 모드에 있고spec
매개변수가 로컬 JSON 파일 경로를 가리킬 때, 탐색 인터페이스에서 저장 버튼을 클릭하여 차트 구성을 저장할 수 있습니다.
추가 독서 자료: Streamlit에서 PyGWalker 사용하는 방법
2. Gradio
개요: Gradio (opens in a new tab)는 머신 러닝 모델을 기반으로 사용자 인터페이스를 구축할 수 있는 라이브러리입니다. 그러나 그것이 제한되는 것은 아닙니다. 맞춤형 인터페이스를 구축하는 데 대한 용이함은 탁월합니다.
주요 기능:
- 인터페이스 유연성: 드롭다운, 슬라이더, 텍스트 상자 등으로 인터페이스를 구성할 수 있습니다.
- 빠른 배포: 빠른 머신 러닝 프로토 타입을 구축하고 배포할 수 있습니다.
- 공유: 앱에 대한 공유 가능한 링크를 받아 다른 사람과 쉽게 협업할 수 있습니다.
PyGWalker 통합:
Gradio의 HTML
인터페이스 구성 요소는 pygwalker
시각화를 호스트할 수 있습니다.
import gradio as gr
import pygwalker as pyg
html_code = pyg.walk(..., return_html=True)
gr.Interface(fn=None, inputs=None, outputs=gr.HTML()).launch()
추가 독서 자료: Gradio에서 PyGWalker 사용하는 방법
3. Dash
개요: Plotly의 Dash (opens in a new tab)는 분석적인 웹 애플리케이션을 구축하기 위한 생산적인 프레임워크입니다. 자바스크립트가 필요하지 않습니다.
주요 기능:
- 반응형: Plotly 차트를 중심으로 반응형 앱을 구축할 수 있습니다.
- 사용자 정의 가능: 다양한 Dash 구성 요소를 사용하여 사용자 정의 UI를 만들 수 있습니다.
- 통합: 다른 Plotly 차트 라이브러리를 지원합니다.
PyGWalker 통합:
Dash의 html.Div
구성 요소를 사용하여 pygwalker
시각화를 원활하게 통합할 수 있습니다.
import dash
import dash_dangerously_set_inner_html
import dash_html_components as html
import pygwalker as pyg
from datasets import load_dataset
# load dataset
dataset = load_dataset("gradio/NYC-Airbnb-Open-Data", split="train")
df = dataset.to_pandas()
app = dash.Dash()
html_code = pyg.walk(df, return_html=True)
app.layout = html.Div([
dash_dangerously_set_inner_html.DangerouslySetInnerHTML(html_code),
])
if __name__ == '__main__':
app.run_server(debug=True)
4. Shiny-Python
개요:
R의 Shiny 라이브러리는 대화형 앱으로 유명하지만, Python의 Shiny 포트인 shiny
은 Python에서 비슷한 기능을 제공합니다.
주요 기능:
- 반응성: 실시간 업데이트를 위한 반응성 바인딩으로 앱을 구축할 수 있습니다.
- UI 구성 요소: 다양한 UI 구성 요소를 제공합니다.
PyGWalker 통합:
ui.HTML
구성 요소를 사용하여 pygwalker
시각화를 Shiny 앱에 포함시킬 수 있습니다.
from shiny import App, ui
import pygwalker as pyg
html_code = pyg.walk(..., return_html=True)
app_ui = ui.page_fluid(
ui.HTML(html_code)
)
app = App(app_ui)
추가 독서 자료: Shiny-Python에서 PyGWalker 사용하는 방법
5. Flask
개요: Flask (opens in a new tab)는 경량 WSGI 웹 애플리케이션 프레임워크입니다. 데이터 앱에 특화되어 있지는 않지만 그 유연성은 탁월합니다.
주요 기능:
- 마이크로프레임워크: Flask는 웹 앱을 실행하는 데 필요한 기본 기능을 제공합니다.
- 확장: Flask의 기능을 확장할 수 있는 확장 기능을 제공합니다.
PyGWalker 통합:
render_template
함수를 사용하여 Flask 앱 내에서 pygwalker
HTML을 렌더링할 수 있습니다.
from flask import Flask, render_template_string
import pygwalker as pyg
app = Flask(__name__)
@app.route('/')
def home():
html_code = pyg.walk(..., return_html=True)
return render_template_string(html_code)
if __name__ == '__main__':
app.run(debug=True)
결론
데이터 이야기는 더 넓은 관객을 필요로 하며, 이러한 라이브러리를 통해 가능해집니다! 간단한 프로토 타입이나 정통한 데이터 앱을 구축하는 경우, 이러한 라이브러리와 pygwalker
를 결합하여 데이터에 접근 가능하고 상호 작용할 수 있는 강력한 조합을 제공합니다. 집중하고 실험하며, 웹에서 시각화를 빛나게 해보세요!