使用PyGWalker数据探索:一款基于Notebook的类Tableau分析工具

什么是PygWalker?

PyGWalker全称为:Python Binding of Graphic Walker。

PyGWalker 是一个 Python 库,可以将 Pandas 数据帧(以及 Polars 数据帧)转换为类似 Tableau 风格的用户界面,用于进行数据可视化的探索。

通过 PyGWalker,用户可以使用类似 Tableau 的图形用户界面(GUI)进行数据分析和可视化。用户可以直观地选择和配置各种可视化图表,如折线图、柱状图、散点图、热力图等,来展示数据中的模式和趋势。

PyGWalker 提供了丰富的交互性功能,用户可以通过简单的拖放和配置操作,对可视化图表进行定制化,如设置图表类型、调整图表样式、添加标签、设置过滤器等,从而深入探索数据,发现数据中的信息和洞察。

PyGWalker 的GitHub 项目地址:https://github.com/Kanaries/pygwalker

PyGWalker: Turn your pandas dataframe into a Tableau-style User Interface for visual analysis

PyGWalker: A Python Library for Exploratory Data Analysis with Visualization

支持的Notebook 环境

安装 pygwalker

使用 pip 或 conda 通过命令行安装包。

pip:

pip install pygwalker

conda:

conda install -c conda-forge pygwalker

使用pygwlker

将 pygwalker 和 pandas 导入 Notebook 以开始使用

import pandas as pd
import pygwalker as pyg 

引入数据:接下来的示例都是以成绩数据为基础进行演示说明,为了方便成绩数据处理成两种格式的数据集,top_20 和top_20_melt

top_20_melt=pd.read_csv('/home/top_20_melt.csv',index_col =0)
top_20=pd.read_csv('/home/top_20.csv',index_col =0)
print(top_20_melt.dtypes)
print('*'*25)
print(top_20.dtypes)

格式说明如下:

user_id      int64
school      object
course      object
score      float64
dtype: object
*************************
user_id      int64
phys         int64
school      object
engl       float64
math         int64
chin       float64
chem       float64
total      float64
dtype: object

1. 箱线图(Box-plot,又称盒须图):各学校的成绩分布

gwalker = pyg.walk(top_20,themeKey='vega')

操作步骤:

  1. 运行代码
  2. Mark Type(图标类型)选定Box(Box Plot)
  3. 将school 拖入 X-Axis
  4. 将total 拖入 Y-Axis
  5. 调整大小



2. Bar柱状图:分析各学校平均总分和总分标准差

gwalker = pyg.walk(top_20,themeKey='vega')

操作步骤:

  1. 运行代码
  2. Mark Type(图标类型)选定Bar将school 拖入 X-Axis
  3. 将total 拖入 Y-Axis ,选聚合函数 mean(均值)
  4. 将total 拖入 Y-Axis ,选聚合函数 Standard Deviation(均值)
  5. 调整大小


3.分箱操作(Bin):总分分箱,统计各学习分数段的人数,散点图展现,点的大小表示当前分数段人数。

关于分箱(Bin)参见:《一文带你了解数据分箱技术:让数据更有价值》https://mp.weixin.qq.com/s/wV6kYbGuBJ9vKpO7wiUJwg

操作步骤:

  1. 对total 进行分箱(Bin) 转换为维度
  2. school 拖入到X-Axis
  3. 将 Bin(total) 拖入到Y-Axis
  4. 将user_id 拖入到size,聚合函数选为count 计数。注:目前有bug,在size 处不能选聚合函数,可以先在Y-Axis 配置好再拖入到size内。


4.Line /Bar图,过滤Filters 和stack

切换数据集:

gwalker = pyg.walk(top_20_melt,themeKey='vega')

操作步骤:

  1. school 拖入到X-Axis
  2. 将 score 拖入到Y-Axis,聚合函数选为mean(均值)
  3. 将course 拖入到 Color
  4. 将course 拖入到 Filters ,排查总分total。
  5. 选择 Line 或Bar 。


5.Scatter散点图,统计学科相关分析

应用数据集top_20

gwalker = pyg.walk(top_20,themeKey='vega')

操作步骤:

  1. school 拖入到Color
  2. 将school 拖入到 Filters ,选任意两学校进行分析。
  3. 将 math 拖入到X-Axis,
  4. 将 phys、chin 拖入到Y-Axis
  5. 关闭Aggregation选项
  6. 选择 Circle(Scatter)。

从图来看,math(数学) 与 phys(物理) 、chin(语文) 的相关性区别不明显。

6.导出图表

由于PygWalker 版本迭代较快,导出图表还在不断完善中,目前支持以下格式:

注意需要打开debug 模式:

将导出Vega or Vega Lite 配置内容(spec)填充到报表模板文件中,生成报表,再嵌入dashboard 形成数据大屏或数据服务。




  
  
  


  
  


输出vega spec嵌入模板后生成图表:

总结

PyGWalker可以在你日常使用notebook环境进行数据分析时,帮你更快、以更加低代码的形式探索你的数据并制作可视化。

PyGWalker 是基于notebook的 tableau 开源替代方案。

以上案例都是基于smartnotebook上PyGwalker 操作实例。

《新语数据故事汇,数说新语》 科普数据科学、讲述数据故事,深层次挖掘数据价值。欢迎各位朋友投稿!

《新语数据故事汇,数说新语》

展开阅读全文

页面更新:2024-03-15

标签:数据   新语   维度   图表   报表   函数   大小   类型   代码   格式   工具

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top