PyGWalker 0.1.6. 更新: ビジュアライゼーションをコードにエクスポート
Published on
データを分析してパターンを視覚化する面倒なプロセスに苦労したことがあるデータ サイエンティストなら、PyGWalker が役に立ちます。 この Python ライブラリは、pandas データフレーム (および polars データフレーム) を、視覚的な探索のための使いやすい Tableau スタイルのインターフェイスに変えることで、ワークフローを合理化できます。
PyGWalker の紹介: EDA と可視化のための Python ライブラリ。
PyGWalker とは?
PyGWalker (opens in a new tab) は、探索的データ分析 (EDA) と視覚化を簡素化するために設計されたオープンソースの Python ライブラリです。 PyGWalker を使用すると、単純なドラッグ アンド ドロップ インターフェイスを使用して、データ パターンを簡単に分析および視覚化できます。 PyGWalker は、Tableau に代わるオープンソースの Graphic Walker の Python バインディングです。 PyGWalker は、Jupyter Notebook やその他の jupyter ベースのノートブックとシームレスに統合します。
PyGWalker は、Jupyter Notebook、Google Colab (opens in a new tab)、Kaggle Code (opens in a new tab)、バインダー (opens in a new tab)、 Graphic Walker オンライン デモ (opens in a new tab)。 PyGWalker を使い始めるには、pip または conda を介してライブラリをインストールする必要があります。 インストール後、PyGWalker と pandas を Jupyter Notebook にインポートして開始できます。
pip install pygwalker --upgrade
import pygwalker as pyg
インポートしたら、次の方法でデータフレーム (df
) をロードして Graphic Walker を呼び出すことができます。
gwalker = pyg.walk(df)
それでおしまい。 変数をドラッグ アンド ドロップしてデータを分析および視覚化するための、Tableau に似たユーザー インターフェイスが用意されました。
バージョン 0.1.6。 新機能: データ視覚化をコードにエクスポート
最新の更新(バージョン 0.1.6.) (opens in a new tab) で、PyGWalker に Visualization をコードにエクスポートする機能が含まれました。
お散歩しましょ♪:
-
ツールバーの コードにエクスポート ボタンをクリックします。 このボタンは、[PNG/SVG にエクスポート] ボタンの横にあります。
-
ビジュアライゼーションはコードとして利用できます。 [クリックボードにコピー] ボタンをクリックして、コードを保存します。
-
PyGWalker にコードをインポートするには、ダウンロードしたコードを
vis_spec
としてインポートし、vis_spec
で PyGWalker をロードします。
pip install pygwalker --upgrade
import pygwalker as pyg
インポートしたら、次の方法でデータフレーム (df
) をロードして Graphic Walker を呼び出すことができます。
gwalker = pyg.walk(df)
それでおしまい。 変数をドラッグ アンド ドロップしてデータを分析および視覚化するための、Tableau に似たユーザー インターフェイスが用意されました。
バージョン 0.1.6。 新機能: データ視覚化をコードにエクスポート
最新の更新(バージョン 0.1.6.) (opens in a new tab) で、PyGWalker に Visualization をコードにエクスポートする機能が含まれました。
お散歩しましょ♪:
-
ツールバーの コードにエクスポート ボタンをクリックします。 このボタンは、[PNG/SVG にエクスポート] ボタンの横にあります。
-
ビジュアライゼーションはコードとして利用できます。 [クリックボードにコピー] ボタンをクリックして、コードを保存します。
-
PyGWalker にコードをインポートするには、ダウンロードしたコードを
vis_spec
としてインポートし、vis_spec
で PyGWalker をロードします。
vis_spec = """
[{"visId":"65b894b5-23fb-4aa6-8f31-d0e1a795d9de","name":"Chart 1","encodings":{"dimensions":[{"dragId":"9e1666ef-461d-4550-ac6a-465a74eb281d","fid":"gwc_1","name":"date","semanticType":"temporal","analyticType":"dimension"},{"dragId":"d2164142-30f7-41a3-a1df-0a0e4ebf1de2","fid":"gwc_2","name":"month","semanticType":"ordinal","analyticType":"dimension"},{"dragId":"7d40982e-4b76-45ed-91a8-25d25a0b4ae8","fid":"gwc_3","name":"season","semanticType":"nominal","analyticType":"dimension"},{"dragId":"28204432-cc53-4c17-9c3e-201bb1c6fd69","fid":"gwc_5","name":"year","semanticType":"nominal","analyticType":"dimension"},{"dragId":"75628c6d-4d67-4f95-96e9-0a614514d199","fid":"gwc_6","name":"holiday","semanticType":"nominal","analyticType":"dimension"},{"dragId":"b66191c8-8798-4355-87d5-0b65b014d703","fid":"gwc_14","name":"work yes or not","semanticType":"nominal","analyticType":"dimension"},{"dragId":"9abd2352-722c-494d-a605-05674c422142","fid":"gwc_15","name":"am or pm","semanticType":"nominal","analyticType":"dimension"},{"dragId":"c61bd371-dcc8-43c6-af41-e80bf20eb457","fid":"gwc_16","name":"Day of the week","semanticType":"ordinal","analyticType":"dimension"}],"measures":[{"dragId":"d4e3d4f4-d9ad-47cb-9774-8eacc608501a","fid":"gwc_0","name":"index","analyticType":"measure","semanticType":"quantitative","aggName":"sum"},{"dragId":"a42d4ea2-c74c-4e6c-81f3-fa58145d9fc4","fid":"gwc_4","name":"hour","analyticType":"measure","semanticType":"quantitative","aggName":"sum"},{"dragId":"d72e7d5d-cc1e-46d3-988c-b0f25c68e069","fid":"gwc_7","name":"temperature","analyticType":"measure","semanticType":"quantitative","aggName":"sum"},{"dragId":"82e03549-2840-4779-8c87-9bd642d15cbe","fid":"gwc_8","name":"feeling_temp","analyticType":"measure","semanticType":"quantitative","aggName":"sum"},{"dragId":"615fafa5-9c75-43b5-a7b7-a797309064fa","fid":"gwc_9","name":"humidity","analyticType":"measure","semanticType":"quantitative","aggName":"sum"},{"dragId":"9da93314-e617-4fbc-9e88-eeef46275083","fid":"gwc_10","name":"winspeed","analyticType":"measure","semanticType":"quantitative","aggName":"sum"},{"dragId":"0bee609f-6a15-4dfc-8196-e55a7fab6085","fid":"gwc_11","name":"casual","analyticType":"measure","semanticType":"quantitative","aggName":"sum"},{"dragId":"4170fac2-46a6-43e7-be73-fd3dd39ffe7a","fid":"gwc_12","name":"registered","analyticType":"measure","semanticType":"quantitative","aggName":"sum"},{"dragId":"bd1b1e87-aecd-41de-8888-9ccbe13f2e5f","fid":"gwc_13","name":"count","analyticType":"measure","semanticType":"quantitative","aggName":"sum"},{"dragId":"b49622a7-5acf-4925-a817-8ad4ae7bc4c8","fid":"gw_count_fid","name":"Row count","analyticType":"measure","semanticType":"quantitative","aggName":"sum"}],"fields":[{"dragId":"61b1cac3-c58d-49f5-8cbe-282357895bc6","fid":"gwc_0","name":"index","aggName":"sum","analyticType":"measure","semanticType":"quantitative"},{"dragId":"db165342-0017-4fa3-89f0-efffaedf5087","fid":"gwc_1","name":"date","analyticType":"dimension","semanticType":"temporal"},{"dragId":"ee625e2d-958a-425b-b13e-0cc59d286fc6","fid":"gwc_2","name":"month","analyticType":"dimension","semanticType":"ordinal"},{"dragId":"c73d0141-998f-4caf-ad03-23849d42f025","fid":"gwc_3","name":"season","analyticType":"dimension","semanticType":"nominal"},{"dragId":"c4a3743c-6400-4466-928f-a2b40f7de920","fid":"gwc_4","name":"hour","aggName":"sum","analyticType":"measure","semanticType":"quantitative"},{"dragId":"c0acb711-2f54-41b5-a4f0-d355d8f6998f","fid":"gwc_5","name":"year","analyticType":"dimension","semanticType":"nominal"},{"dragId":"9ad81c68-5329-42eb-9b3a-a813a9482e9b","fid":"gwc_6","name":"holiday","analyticType":"dimension","semanticType":"nominal"},{"dragId":"f135914b-7a58-4f69-bf6e-4328a42c76a0","fid":"gwc_7","name":"temperature","aggName":"sum","analyticType":"measure","semanticType":"quantitative"},{"dragId":"4eda6f67-0d64-4b85-9895-ff8dd7c4dab5","fid":"gwc_8","name":"feeling_temp","aggName":"sum","analyticType":"measure","semanticType":"quantitative"},{"dragId":"cfa84897-13c9-45ec-addb-2a3135d0113d","fid":"gwc_9","name":"humidity","aggName":"sum","analyticType":"measure","semanticType":"quantitative"},{"dragId":"abe15c87-7364-4687-beda-ba11d30c2262","fid":"gwc_10","name":"winspeed","aggName":"sum","analyticType":"measure","semanticType":"quantitative"},{"dragId":"5ca1464d-3dc6-4a80-b78c-a6f91ef11e72","fid":"gwc_11","name":"casual","aggName":"sum","analyticType":"measure","semanticType":"quantitative"},{"dragId":"a6e553e7-32a2-4aed-b590-02308fb7cac1","fid":"gwc_12","name":"registered","aggName":"sum","analyticType":"measure","semanticType":"quantitative"},{"dragId":"37f8fc74-06c2-43bb-98dc-135efdad6a69","fid":"gwc_13","name":"count","aggName":"sum","analyticType":"measure","semanticType":"quantitative"},{"dragId":"c5916915-203b-457c-ba6a-2e28c21694b2","fid":"gwc_14","name":"work yes or not","analyticType":"dimension","semanticType":"nominal"},{"dragId":"ac293432-2c09-4104-bb95-8027f94a310e","fid":"gwc_15","name":"am or pm","analyticType":"dimension","semanticType":"nominal"},{"dragId":"0020d11e-6bcd-44cb-919b-6cb3f6d5fa0f","fid":"gwc_16","name":"Day of the week","analyticType":"dimension","semanticType":"ordinal"},{"dragId":"9ffc9ee4-3413-432f-9606-6c44ea3717da","fid":"gw_count_fid","name":"Row count","aggName":"sum","analyticType":"measure","semanticType":"quantitative"}],"rows":[{"dragId":"cc52d32f-1438-4523-b20a-b7c8346327d1","fid":"gwc_7","name":"temperature","analyticType":"measure","semanticType":"quantitative","aggName":"sum"},{"dragId":"7a693f90-6e5a-4032-a800-f3162efeb2c6","fid":"gwc_10","name":"winspeed","analyticType":"measure","semanticType":"quantitative","aggName":"sum"}],"columns":[{"dragId":"0170fb40-aa10-4378-ab79-3a35aad936ce","fid":"gwc_9","name":"humidity","analyticType":"measure","semanticType":"quantitative","aggName":"sum"}],"color":[{"dragId":"0e30a2e3-d670-42d5-b0c8-fed4befeb92c","fid":"gwc_3","name":"season","semanticType":"nominal","analyticType":"dimension"}],"opacity":[],"size":[],"shape":[],"radius":[],"theta":[],"details":[],"filters":[]},"config":{"defaultAggregated":false,"geoms":["auto"],"stack":"stack","showActions":false,"interactiveScale":false,"sorted":"none","size":{"mode":"auto","width":320,"height":200},"exploration":{"mode":"none","brushDirection":"default"}}}]
"""
pyg.walk(df, spec=vis_spec)
PyGWalker には、最新の更新プログラムに対するその他の機能強化とバグ修正もあります。 最も注目すべき点:
- Graphic-Walker を 0.2.15 にバンプ (opens in a new tab)
- Databricks のサポートを追加 (opens in a new tab)
- VSCode 向け Jupiter 拡張機能のサポートを追加 (opens in a new tab)
- Streamlit 環境に対応し、Jupyter と Streamlit を作成 (opens in a new tab)
- JS モジュールのフォーマットを変更して Kaggle Notebooks をサポート (opens in a new tab)
- ダークテーマをサポート (opens in a new tab)
- より簡潔な API (opens in a new tab)
更新の完全なリストについては、PyGWalker 変更ログ (opens in a new tab) を参照してください。
まとめ
あなたがデータ サイエンティスト、アナリスト、学生、またはデータを視覚化する必要がある人であれば、PyGWalker は使用を検討すべき優れたツールです。 データ ビジュアライゼーションのエクスポートを使用して、機能をコーディングし、複雑なビジュアライゼーションを作成し、それらのビジュアライゼーションを他のツールに統合できます。
PyGWalker に関する提案や機能のリクエストが他にもある場合は、PyGWalker GitHub (opens in a new tab) でお気軽にイシューをドロップしてください。
参考文献
- PyGWalker: 視覚化による探索的データ分析のための Python ライブラリ (opens in a new tab)
- PyGWalker でデータの視覚化を作成する方法 (opens in a new tab)