ソリューション
Jupyterのワークフローでは、データフレームを探索するには通常、matplotlibやpandasでビューごとに新しいチャートコードを書く必要があり、一方でユーザーがTableauで知っているドラッグ&ドロップの体験は、データのエクスポートとコンテキストの切り替えを要する別個のアプリケーションの中にあった。KanariesはすでにTableauのオープンソース代替であるGraphic Walkerを構築していたが、スタンドアロンのWebアプリとしては、データサイエンティストが作業するノートブックの外に依然として位置していた。
彼らの打ち手は、Graphic WalkerをPyGWalkerというPythonライブラリに包み込み、すでに読み込まれたデータフレームに対してpyg.walk(df)を呼び出すと、ノートブックのセル自体の中でTableau風のインターフェースが開くようにすることだった。ディメンションをシェルフにドラッグし、マークタイプを切り替えて異なるチャートを作り、クリーニングや注釈のツールを使い、さらには自然言語クエリも実行できる。計算はプラグイン可能で、小規模データではブラウザ内、より大きなデータセットではDuckDBをバックエンドにしたカーネル内、あるいはKanariesクラウドで実行され、チャートの状態はスペックファイルに保存して再現可能なPythonコードとしてエクスポートできる。
2023年2月20日のShow HN投稿は712ポイントと61件のコメントを集め、現役のデータサイエンティストたちは、ノートブック版が手書きのチャートに比べて大きな利点であり、目に見えるギャップを埋めるものだと評した。そこから採用は積み上がっていった。チームのIEEE VIS 2024論文は、2024年6月までにPyPIダウンロード61.2万件とGitHubスター1万500件超を報告し、2026年9月時点のリポジトリのスナップショットでは1万6000スター、887フォーク、774コミットが示され、READMEは9言語で提供され、ラッパーと統合はR、Streamlit、Panel、marimoに及んでいる。
達成したこと
Tableau風のUIをノートブック自体の中に埋め込み、アナリストがすでに手にしているデータフレームがそのままインターフェースになるようにした
うまくいった理由
UIはすでに作業が行われている場所に届く。読み込まれたデータフレームがノートブック内のインターフェースとなり、BIツールに必要なエクスポート・インポートの手順とコンテキストの切り替えをなくす。
入口は1行で、ライブラリは無料なので、試すコストはpip install 1回分だけであり、普及は摩擦ゼロの試用によって進む。
Apache-2.0ライセンスとconda-forgeでのパッケージ化によりツールは組み込み可能になり、Streamlit、Panel、marimo、そしてRラッパーがこれを採用して、配布されるチャネルを倍増させた。
チャートの状態をスペックファイルとして保存し、再現可能なPythonとしてエクスポートすることで、結果は独自仕様のダッシュボードに終わるのではなく、コード優先のワークフローの中にとどまる。
計算がプラグイン可能なため、同じドラッグ&ドロップのインターフェースが、ツールやアーキテクチャを変えることなく、ラップトップ上のデータフレームからより大きなデータまでスケールする。
応用できること
ユーザーに新しいツールへの移行を求めないこと。すでに使っているワークフローの中に自社の機能を届け、試すのに何のコストもかからないほど入口を小さくすること
その後
PyGWalkerのローンチ投稿は2023年2月20日にHacker Newsで712ポイントと61件のコメントを獲得し、プロジェクトは積み上がり続けた。IEEE VIS 2024論文は2024年6月までにPyPIダウンロード61.2万件とGitHubスター1万500件超を報告し、2026年9月時点のリポジトリのスナップショットでは1万6000スター、887フォーク、774コミットが示されている。Kanariesはクラウド版、PyGWalker Desktop、Rラッパー(GWalkR)を追加し、論文はこのライブラリを、プログラムによる分析と探索的視覚分析をつなぐオンザフライのアシスタントとして位置づけた。
出典をたどる
出典
- Kanaries/pygwalker: PyGWalker — Turn your dataframe into an interactive UI for visual analysis GitHub · github.com
- Show HN: Turn your Pandas dataframe into a Tableau-style UI for visual analysis | Hacker News Hacker News · news.ycombinator.com ·
- PyGWalker: On-the-fly Assistant for Exploratory Visual Data Analysis arXiv · arxiv.org