Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

PyGWalker: Turn your pandas dataframe into an interactive UI for visual analysis

License

NotificationsYou must be signed in to change notification settings

Kanaries/pygwalker

Repository files navigation

English |Español |Français |Deutsch |中文 |Türkçe |日本語 |한국어

PyGWalker: A Python Library for Exploratory Data Analysis with Visualization

PyPI versionbinderPyPI downloadsconda-forge

discord invitation linkTwitter FollowJoin Kanaries on Slack

PyGWalker can simplify your Jupyter Notebook data analysis and data visualization workflow, by turning your pandas dataframe into an interactive user interface for visual exploration.

PyGWalker (pronounced like "Pig Walker", just for fun) is named as an abbreviation of "Python binding ofGraphicWalker". It integrates Jupyter Notebook withGraphic Walker, an open-source alternative to Tableau. It allows data scientists to visualize / clean / annotates the data with simple drag-and-drop operations and even natural language queries.

VisitGoogle Colab,Kaggle Code orGraphic Walker Online Demo to test it out!

If you prefer using R, checkGWalkR, the R wrapper of Graphic Walker.

pygwalker-tutorial-web.mp4

Getting Started

Check our video tutorial about using pygwalker, pygwalker + streamlit and pygwalker + snowflake,How to explore data with PyGWalker in Python

Run in KaggleRun in Colab
Kaggle CodeGoogle Colab

Setup pygwalker

Before using pygwalker, make sure to install the packages through the command line using pip or conda.

pip

pip install pygwalker

Note

For an early trial, you can install withpip install pygwalker --upgrade to keep your version up to date with the latest release or evenpip install pygwalker --upgrade --pre to obtain latest features and bug-fixes.

Conda-forge

conda install -c conda-forge pygwalker

or

mamba install -c conda-forge pygwalker

Seeconda-forge feedstock for more help.

Use pygwalker in Jupyter Notebook

Quick Start

Import pygwalker and pandas to your Jupyter Notebook to get started.

importpandasaspdimportpygwalkeraspyg

You can use pygwalker without breaking your existing workflow. For example, you can call up PyGWalker with the dataframe loaded in this way:

df=pd.read_csv('./bike_sharing_dc.csv')walker=pyg.walk(df)

That's it. Now you have an interactive UI to analyze and visualize data with simple drag-and-drop operations.

Cool things you can do with PyGwalker:

  • You can change the mark type into others to make different charts, for example, a line chart:graphic walker line chart

  • To compare different measures, you can create a concat view by adding more than one measure into rows/columns.graphic walker area chart

  • To make a facet view of several subviews divided by the value in dimension, put dimensions into rows or columns to make a facets view.graphic walker scatter chart

  • PyGWalker contains a powerful data table, which provides a quick view of data and its distribution, profiling. You can also add filters or change the data types in the table.

pygwalker-data-preview
  • You can save the data exploration result to a local file

Better Practices

There are some important parameters you should know when using pygwalker:

  • spec: for save/load chart config (json string or file path)
  • kernel_computation: for using duckdb as computing engine which allows you to handle larger dataset faster in your local machine.
  • use_kernel_calc: Deprecated, usekernel_computation instead.
df=pd.read_csv('./bike_sharing_dc.csv')walker=pyg.walk(df,spec="./chart_meta_0.json",# this json file will save your chart state, you need to click save button in ui mannual when you finish a chart, 'autosave' will be supported in the future.kernel_computation=True,# set `kernel_computation=True`, pygwalker will use duckdb as computing engine, it support you explore bigger dataset(<=100GB).)

Example in local notebook

Example in cloud notebook

Use pygwalker in Streamlit

Streamlit allows you to host a web version of pygwalker without figuring out details of how web application works.

Here are some of the app examples build with pygwalker and streamlit:

frompygwalker.api.streamlitimportStreamlitRendererimportpandasaspdimportstreamlitasst# Adjust the width of the Streamlit pagest.set_page_config(page_title="Use Pygwalker In Streamlit",layout="wide")# Add Titlest.title("Use Pygwalker In Streamlit")# You should cache your pygwalker renderer, if you don't want your memory to explode@st.cache_resourcedefget_pyg_renderer()->"StreamlitRenderer":df=pd.read_csv("./bike_sharing_dc.csv")# If you want to use feature of saving chart config, set `spec_io_mode="rw"`returnStreamlitRenderer(df,spec="./gw_config.json",spec_io_mode="rw")renderer=get_pyg_renderer()renderer.explorer()
ParameterTypeDefaultDescription
datasetUnion[DataFrame, Connector]-The dataframe or connector to be used.
gidUnion[int, str]NoneID for the GraphicWalker container div, formatted as 'gwalker-{gid}'.
envLiteral['Jupyter', 'JupyterWidget']'JupyterWidget'Environment using pygwalker.
field_specsOptional[Dict[str, FieldSpec]]NoneSpecifications of fields. Will be automatically inferred fromdataset if not specified.
hide_data_source_configboolTrueIf True, hides DataSource import and export button.
theme_keyLiteral['vega', 'g2']'g2'Theme type for the GraphicWalker.
appearanceLiteral['media', 'light', 'dark']'media'Theme setting. 'media' will auto-detect the OS theme.
specstr""Chart configuration data. Can be a configuration ID, JSON, or remote file URL.
use_previewboolTrueIf True, uses the preview function.
kernel_computationboolFalseIf True, uses kernel computation for data.
**kwargsAny-Additional keyword arguments.

Development

Refer it:local-development

Tested Environments

  • Jupyter Notebook
  • Google Colab
  • Kaggle Code
  • Jupyter Lab
  • Jupyter Lite
  • Databricks Notebook (Since version0.1.4a0)
  • Jupyter Extension for Visual Studio Code (Since version0.1.4a0)
  • Most web applications compatiable with IPython kernels. (Since version0.1.4a0)
  • Streamlit (Since version0.1.4.9), enabled withpyg.walk(df, env='Streamlit')
  • DataCamp Workspace (Since version0.1.4a0)
  • Panel. Seepanel-graphic-walker.
  • marimo (Since version0.4.9.11)
  • Hex Projects
  • ...feel free to raise an issue for more environments.

Configuration And Privacy Policy(pygwalker >= 0.3.10)

You can usepygwalker config to set your privacy configuration.

$ pygwalker config --helpusage: pygwalker config [-h] [--set [key=value ...]] [--reset [key ...]] [--reset-all] [--list]Modify configuration file. (default:~/Library/Application Support/pygwalker/config.json) Available configurations:- privacy  ['offline','update-only','events'] (default: events)."offline": fully offline, no data is send or api is requested"update-only": only check whether this is a new version of pygwalker to update"events": share which events about which feature is usedin pygwalker, it only contains events data about which feature you arrivefor product optimization. No DATA YOU ANALYSIS IS SEND. Events data willbind with a unique id, which is generated by pygwalker when it is installed based on timestamp. We will not collect any other information about you.    - kanaries_token  ['your kanaries token'] (default: empty string).    your kanaries token, you can get it from https://kanaries.net.    refer: https://space.kanaries.net/t/how-to-get-api-key-of-kanaries.    by kanaries token, you can use kanaries servicein pygwalker, such as share chart, share config.    options:-h, --help            show thishelp message andexit  --set [key=value ...]                        Set configuration. e.g."pygwalker config --set privacy=update-only"  --reset [key ...]     Reset user configuration and use default values instead. e.g."pygwalker config --reset privacy"  --reset-all           Reset all user configuration and use default values instead. e.g."pygwalker config --reset-all"  --list                List current used configuration.

More details, refer it:How to set your privacy configuration?

License

Apache License 2.0

Resources

PyGWalker Cloud is released! You can now save your charts to cloud, publish the interactive cell as a web app and use advanced GPT-powered features. Check out thePyGWalker Cloud for more details.


[8]ページ先頭

©2009-2025 Movatter.jp