Skip to content
PyGWalkerをWebアプリとしてホスト・共有するためのトップ5のPythonライブラリ

PyGWalkerをWebアプリとしてホスト・共有するためのトップ5のPythonライブラリ

今日のデータ中心の高速な世界では、インサイトを導き出すだけでなく、それを共有することも同じくらい重要です。データサイエンスにおいて一流の言語であるPythonは、データ分析からWebアプリを作成するための多くのライブラリを提供しています。もしもあなたがインタラクティブな視覚化のための pygwalker のファンなら、運が良いです!このブログ記事では、PyGWalkerの視覚化をWebアプリとしてホスト・共有するためのトップ5のライブラリを紹介します。

  1. Streamlit
  2. Gradio
  3. Dash
  4. Shiny-Python
  5. Flask

1. Streamlit

概要Streamlit (opens in a new tab)は、データスクリプトを数分で共有可能なWebアプリに変換するための非常に人気のあるPythonライブラリです。Streamlitは、データサイエンティスト向けにカスタマイズされたFlaskのようなものと考えることができます。Web開発の細かいところに詳しくなくても、迅速にデータアプリを開発することができます。さらに、StreamlitはpygwalkerをライブのWebアプリケーションに変換するシームレスなプラットフォームを提供し、静的なレポートだけではなく、より広い視聴者と共有することができます。ユーザーは質問を投げかけ、必要に応じて探索を続けることができます。

主な特徴

  • シンプリシティ:わずか数行のコードでデータスクリプトをWebアプリに変換できます。
  • インタラクティブウィジェット:スライダーやボタン、テキスト入力を簡単に追加して視覚化を操作できます。
  • ホットリローディング:アプリを再起動することなくリアルタイムで変更を確認できます。

PyGWalkerとの統合: StreamlitとPyGWalkerは強力な組み合わせを提供します。pygwalkerの最新のAPIは、Streamlitとの使用を容易にし、duckdb計算エンジン(これはStreamlitとの組み合わせのための独自の機能です)を利用することができます。以下は、ステップバイステップの統合ガイドです。

  1. 環境の設定: Python 3.6またはそれ以降がインストールされていることを確認してください。次のコマンドを使用して必要な依存関係をインストールします。

    pip install pandas pygwalker streamlit
  2. StreamlitへのPyGWalkerの埋め込み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()
  3. Streamlitでのデータの探索streamlit run pygwalker_demo.py コマンドを使用してStreamlitアプリを実行します。このコマンドにより、Streamlitアプリが開始され、PyGWalkerの直感的なドラッグアンドドロップ機能を使用してデータをインタラクティブに視覚化することができます。

  4. PyGWalkerチャートの状態の保存pygwalkerのレンダラがデバッグモードであり、specパラメータがローカルのJSONファイルパスを指している場合、探索インターフェース上の保存ボタンをクリックしてチャートの構成を保存することができます。

さらなる情報の読み物:StreamlitでPyGWalkerを使う方法

2. Gradio

概要Gradio (opens in a new tab)は、機械学習モデルの周りにUIを構築することができるツールです。ただそれだけではなく、カスタムインタフェースの構築の容易さは他に類を見ません。

主な特徴:

  • インタフェースの柔軟性:ドロップダウン、スライダー、テキストボックスなどからインタフェースを作成できます。
  • 素早い展開:機械学習のプロトタイプを迅速に構築・展開できます。
  • 共有:アプリの共有可能なリンクを取得し、簡単なコラボレーションを実現します。

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

概要Dash (opens in a new tab)は、分析用のWebアプリケーションを構築するための効果的なフレームワークです。JavaScriptは必要ありません。

主な特徴:

  • リアクティブ: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はPythonで同様の機能を実現します。

主な特徴:

  • 反応性:ライブアップデートのための反応性バインディングでアプリを構築できます。
  • UIコンポーネント:Shinyはさまざまな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 Webアプリケーションフレームワークです。特定のデータアプリケーション向けではありませんが、柔軟性は他に類を見ません。

主な特徴:

  • マイクロフレームワーク:FlaskはWebアプリを実行するための基本機能を提供します。
  • 拡張機能:Flaskの機能を拡張するための拡張機能を使用できます。

PyGWalkerとの統合: Flaskアプリ内でpygwalkerのHTMLをrender_template関数を使用してレンダリングすることができます。

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と組み合わせることで、データをアクセス可能かつインタラクティブにするための強力なコンボを提供します。ぜひ試して、自分の視覚化をWeb上で輝かせてください!