PyGWalker:把 pandas DataFrame 变成交互式可视化界面
PyGWalker:把 pandas DataFrame 变成交互式可视化界面
Kanaries 团队开源的 PyGWalker 已经获得了 15,826 个 Star。

PyGWalker 是一个 Python 库,作用是将 pandas DataFrame 转换为交互式可视化界面。名字来源于 “Python binding of Graphic Walker”,后者是 Tableau 的开源替代方案。

在 Jupyter Notebook 中,用户只需两行代码即可调用:
import pygwalker as pyg
walker = pyg.walk(df)
调用后会弹出一个交互式界面。左侧是数据字段列表,中间是画布区域。用户通过拖拽字段到行、列、颜色等通道来构建图表。界面会根据字段类型自动推荐合适的图表形式,用户也可以手动切换为其他类型,包括柱状图、折线图、散点图、面积图等。
数据操作功能被整合进同一个界面。用户可以筛选数据子集,对数值进行聚合计算,创建新的计算字段。数据表格组件提供了数据分布的快速预览,支持按字段排序和类型转换。
PyGWalker 也支持自然语言查询,用户可以用文字描述想要的分析需求,系统会自动生成对应的可视化。
对于大数据集,PyGWalker 提供了 kernel_computation 参数,启用后会使用 DuckDB 作为计算引擎,支持在本地处理最大 100GB 的数据。
PyGWalker 的 spec 参数用于加载和保存图表配置,支持传入 JSON 字符串或文件路径。appearance 参数可以设置界面主题,支持浅色、深色或跟随系统。theme_key 参数则控制图表渲染引擎,可选 vega 或 g2。
图表配置可以保存为 JSON 文件,下次加载时直接恢复。编辑完成后,支持程序化导出为 PNG 或 SVG 格式:
walker.save_chart_to_file("Chart 1", "chart1.svg", save_type="svg")
png_bytes = walker.export_chart_png("Chart 1")
PyGWalker 兼容多种运行环境:
- Jupyter Notebook 和 JupyterLab
- Google Colab 和 Kaggle Notebook
- VS Code 的 Jupyter 扩展
- Streamlit 应用
- Databricks Notebook
- Panel 和 marimo
在 Streamlit 中集成需要引入 StreamlitRenderer,并通过 @st.cache_resource 装饰器缓存渲染器以避免内存问题。
安装方式:
pip install pygwalker
conda 用户可以通过 conda-forge 安装:
conda install -c conda-forge pygwalker
隐私方面,PyGWalker 提供了三级配置:offline 模式完全离线,不发送任何数据;update-only 仅检查版本更新;events 模式会收集功能使用数据用于产品优化,但不包含用户的分析数据。
PyGWalker 的 README 提供了 Kaggle 和 Google Colab 的在线演示链接,用户可以在不安装的情况下直接体验功能。PyGWalker 的核心理念是减少数据探索过程中的代码量,让分析师把精力放在数据本身。
以在不安装的情况下直接体验功能。PyGWalker 的核心理念是减少数据探索过程中的代码量,让分析师把精力放在数据本身。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)