📊
PyGWalkerをStreamlitで動作させてみた
Tableauが使えない状況だったのでTableauみたいな分析ツールを使いたく、いいものはないかと探したところ、PyGWalkerというツールを見つけました。
Streamlitに対応していたので、ファイルのアップロードをドラッグ&ドロップで直感的に利用できるように実装してみました。
PyGWalkerとは
PyGWalkerは、pandasやpolarsのデータフレームをTableauスタイルのユーザインタフェースにてデータ分析・可視化をできるようにするツールです。
Tableauのオープンソースの代替品Graphic WalkerをPythonで実行できるようにしたもののようです。
PyGWalkerは、"Python binding of Graphic Walker "の略で、"Pig Walker "と発音します。
画面イメージ
Dry Bean Datasetをプロットした場合の例。
StreamlitでPyGWalkerを動作させる手順
簡単に利用できるようにGitHubにコードをアップロードしましたので、そちらもご覧ください。
1. パッケージのインストール
pip
を最新の状態にして、必要なパッケージをインストールしてください。
# pipの更新
$ pip install --upgrade pip
# パッケージのインストール
$ pip install pandas streamlit pygwalker
2. Streamlitのコード作成
以下のコードをstreamlit_app.py
として保存してください。
streamlit_app.py
import pandas as pd
import pygwalker as pyg
import streamlit as st
# ワイド表示
st.set_page_config(layout="wide")
# タイトル
st.title("Data Analysis with PyGWalker.")
# データフレームの用意
df = None
# ファイル選択
with st.sidebar:
uploaded_files = st.file_uploader("Choose a CSV file")
if uploaded_files is not None:
df = pd.read_csv(uploaded_files)
# pygwalkerで表示
pyg.walk(df, env='Streamlit')
3. Streamlitの起動
streamlit_app.py
を保存したディレクトリに移動して、以下を実行してください。
# streamlitの実行
$ streamlit run streamlit_app.py
実行後、以下のような画面が開かれます。
立ち上がらない場合は、ブラウザを開きhttp://localhost:8501
をURLに入力してください。
サイドバーに分析したcsvファイルを選択、またはドラッグ&ドロップすることで、Tableauみたいに分析ができます。
実行を停止する際は、ターミナルでCtr + c
キーを押して、停止してください。
Discussion