高级,这个Python库助力pandas智能可视化分析

开发 前端
这次介绍一个可视化工具-LUX,它能自动地将DataFrame数据转化为统计图表,让你一目了然地看到相关性、分布、频率等信息。

 Pandas是用于数据处理的核心库,它也可以进行简单的可视化,绘制散点、折线、直方等基础图表都不在话下。 

 

 


 

Pandas自带的可视化方法是基于matplotlib的函数接口,在Jupyter里可以静态展示。

这次介绍一个可视化工具-LUX,它能自动地将DataFrame数据转化为统计图表,让你一目了然地看到相关性、分布、频率等信息。 

 

 

 

 

 

LUX在Jupyter Notebook或Lab中进行交互,图表与数据可以同步显示。

项目地址: https:// github.com/lux-org/lux

使用LUX

以下面数据集(美国各大学信息表)为例:

  1. # 导入pandas和lux库 
  2. import pandas as pd 
  3. import lux 
  4.  
  5. #加载数据 
  6. df = pd.read_excel("C:\\Users\\zii\\Documents\\USA_College.xlsx"
  7. df 

读取的数据如下:

 

 

 

 

 

 

除了显示的数据表外,同时你还会看到数据集上面出现一个按钮,可以进行数据/图表的交换显示。

 

 

 

 

 

 

所以说只需要导入lux库,就能直接使用图表功能。

 

 

 

 

 

 

大家看到下面有三种类型的图表,代表的统计学含义分别是相关性、直方分布、事件频次。

 

 

 

 

 

 

除了全表的可视化探索外,你还可以研究特定变量间的关系。

比如,我想看 SAT平均值 和 收入中位数 的关联性.

  1. df.intent = ['SAT平均值','收入中位数'
  2. df 

 

 

 

 

 

 

左边的表是两个变量的总体分布,右边是在有筛选条件下的分布。

导出图表

LUX支持图表的导出,既可以导出图表文件,也可以导出相应的matplotlib、altair代码。

首先选定一个或多个图表,点击导出按钮。

 

 

 

 

 

 

可以直接将选定的图表单独显示出来:

 

 

 

 

 

 

  1. 导出html df.save_as_html('hpi.html')
  2. 导出matplotlib代码
  1. vis = df.exported 
  2. print (vis[0].to_matplotlib()) 

 

 

 

 

 

 

  1. 导出altair代码
  1. vis = df.exported 
  2. print(vis[0].to_Altair()) 

 

 

 

 

导出的代码可以直接运行:

  1. import altair as alt 
  2.  
  3. chart = alt.Chart(df).mark_circle().encode( 
  4.     x=alt.X('SAT平均值',scale=alt.Scale(domain=(6661534)),type='quantitative', axis=alt.Axis(title='SAT平均值')), 
  5.     y=alt.Y('收入中位数',scale=alt.Scale(domain=(20200125600)),type='quantitative', axis=alt.Axis(title='收入中位数')) 
  6. chart = chart.configure_mark(tooltip=alt.TooltipContent('encoding')) # Setting tooltip as non-null 
  7. chart = chart.interactive() # Enable Zooming and Panning 
  8. chart = chart.encode(color=alt.Color('最高学位',type='nominal')) 
  9.  
  10. chart = chart.configure_title(fontWeight=500,fontSize=13,font='Helvetica Neue'
  11. chart = chart.configure_axis(titleFontWeight=500,titleFontSize=11,titleFont='Helvetica Neue'
  12. labelFontWeight=400,labelFontSize=8,labelFont='Helvetica Neue',labelColor='#505050'
  13. chart = chart.configure_legend(titleFontWeight=500,titleFontSize=10,titleFont='Helvetica Neue'
  14. labelFontWeight=400,labelFontSize=8,labelFont='Helvetica Neue'
  15. chart = chart.properties(width=160,height=150
  16.  
  17. chart 

 

 

 

 

 

 

安装设置

lux安装过程和其他库一样,可以通过pip或conda安装,直接在命令行输入:

  1. pip install lux-api 

  1. conda install -c conda-forge lux-api 

因为lux一般用在Jupyter生态中,所以需要安装并激活luxwidget拓展,才能显示交互式窗口。

如果你是在Jupyter Notebook或VSCode中使用,使用下面代码激活拓展:

  1. jupyter nbextension install --py luxwidget 
  2. jupyter nbextension enable --py luxwidget 

如果你使用的是Jupyter Lab,则激活lab拓展:

  1. jupyter labextension install @jupyter-widgets/jupyterlab-manager 
  2. jupyter labextension install luxwidget 

总结

LUX是一个不错的数据可视化分析工具,能智能地辅助Pandas做数据探索,省去了很多不必要的操作。

 

责任编辑:张燕妮 来源: 知乎
相关推荐

2015-11-17 18:44:06

Qlik可视化

2021-11-29 13:29:06

Basemap可视化分析

2021-10-26 10:15:34

Python股市代码

2021-08-05 10:46:59

GitHub代码开发者

2022-06-15 08:25:07

Python天气数据可视化分析

2023-07-26 12:38:42

PyGWalker数据类型

2016-11-28 15:03:06

Python数据可视化网络分析

2016-11-25 11:16:22

阿里支付宝数据分析

2020-09-27 10:32:05

开发 Github可视化

2018-01-03 17:22:22

DataHunter数据可视化分析

2020-09-27 14:56:33

工具数据可视化技术

2018-11-14 10:15:58

开源技术 数据

2020-09-09 12:15:50

大数据互联网可视化

2018-01-25 14:34:18

大数据可视化工具

2021-06-30 23:38:56

Python微信好友

2020-09-27 11:15:37

可视化PandasPython

2021-09-09 06:40:28

Pyecharts可视化源码

2022-05-12 08:58:03

开源日志查询日志可视化

2017-01-05 16:48:50

Python道路数据数据可视化
点赞
收藏

51CTO技术栈公众号