作者:东哥腾飞
EDA是数据分析必须的过程,用来查看变量统计特色,能够此为根底尝试做特色工程。东哥这次分享3个EDA
神器,其实之前每一个都分享过,这次把这三个工具包汇总到一起来介绍。
1. Pandas_Profiling
这个属于三个中最轻便、简略的了。它能够疾速生成报告,一览变量详情。首先,咱们须要装置该软件包。
# 装置Jupyter扩大widget jupyter nbextension enable --py widgetsnbextension# 或者通过conda装置conda env create -n pandas-profilingconda activate pandas-profilingconda install -c conda-forge pandas-profiling# 或者间接从源地址装置pip install https://github.com/pandas-profiling/pandas-profiling/archive/master.zip
装置胜利后即可导入数据间接生成报告了。
import pandas as pdimport seaborn as snsmpg = sns.load_dataset('mpg')mpg.head()from pandas_profiling import ProfileReportprofile = ProfileReport(mpg, title='MPG Pandas Profiling Report', explorative = True)profile
应用Pandas Profiling
生成了一个疾速的报告,具备很好的可视化成果。报告后果间接显示在notebook中,而不是在独自的文件中关上。
总共提供了六个局部:概述、变量、交互、相关性,缺失值和样本。
Pandas profiling
的变量局部是残缺的,它为每个变量都生成了具体的报告。
从上图能够看出,仅一个变量就有太多信息,比方能够取得描述性信息和分位数信息。
交互
交互局部咱们能够获取两个数值变量之间的散点图。
相关性
能够取得两个变量之间的关系信息。
缺失值
能够获取每个变量的缺失值计数信息。
样本
能够显示了数据集中的样本行,用于理解数据。
2. Sweetviz
Sweetviz
是另一个Python的开源代码包,仅用一行代码即可生成丑陋的EDA报告。与Pandas Profiling
的区别在于它输入的是一个齐全独立的HTML
应用程序。
应用pip装置该软件包
pip install sweetviz
装置实现后,咱们能够应用Sweetviz
生成报告,上面尝试一下。
import sweetviz as sv# 能够抉择指标特色my_report = sv.analyze(mpg, target_feat ='mpg')my_report.show_html()
从上图能够看到,Sweetviz
报告生成的内容与之前的Pandas Profiling
相似,但具备不同的UI。
Sweetviz
不仅能够查看单变量的散布、统计个性,它还能够设置指标标量,将变量和指标变量进行关联剖析。如下面报告最右侧,它取得了所有现有变量的数值关联和类别关联的相关性信息。
Sweetviz
的劣势不在于单个数据集上的EDA报告,而在于数据集的比拟。
能够通过两种形式比拟数据集:将其拆分(例如训练和测试数据集),或者应用一些过滤器对总体进行细分。
比方上面这个例子,有USA和NOT-USA两个数据集。
# 设置须要剖析的变量my_report = sv.compare_intra(mpg,mpg [“ origin”] ==“ usa”,[“ USA”,“ NOT-USA”],target_feat ='mpg')my_report.show_html()
不须要敲太多的代码就能够让咱们疾速剖析这些变量,这在EDA
环节会缩小很多工作量,而把工夫留给变量的剖析和筛选上。
Sweetviz
的一些劣势在于:
- 剖析无关目标值的数据集的能力
- 两个数据集之间的比拟能力
但也有一些毛病:
- 变量之间没有可视化,例如散点图
- 报告在另一个标签中关上
集体是比拟喜爱Sweetviz
的。
3. pandasGUI
PandasGUI
与后面的两个不同,PandasGUI
不会生成报告,而是生成一个GUI
(图形用户界面)的数据框,咱们能够应用它来更具体地剖析咱们的Dataframe
。
首先,装置PandasGUI。
# pip装置pip install pandasgui# 或者通过源下载pip install git+https://github.com/adamerose/pandasgui.git
而后,运行几行代码试一下。
from pandasgui import show# 部署GUI的数据集gui = show(mpg)
在此GUI
中,能够做很多事件,比方过滤、统计信息、在变量之间创立图表、以及重塑数据。这些操作能够依据需要拖动选项卡来实现。
比方像上面这个统计信息。
最牛X的就是绘图器性能了。用它进行拖拽操作几乎和excel没有啥区别了,操作难度和门槛简直为零。
还能够通过创立新的数据透视表或者交融数据集来进行重塑。
而后,解决好的数据集能够间接导出成csv。
pandasGUI
的一些劣势在于:
- 能够拖拽
- 疾速过滤数据
- 疾速绘图
毛病在于:
- 没有残缺的统计信息
- 不能生成报告
4. 论断
Pandas Profiling
、Sweetviz
和PandasGUI
都很不错,旨在简化咱们的EDA解决。在不同的工作流程中,每个都有本人的劣势和适用性,三个工具具体劣势如下:
Pandas Profiling
实用于疾速生成单个变量的剖析。Sweetviz
实用于数据集之间和指标变量之间的剖析。PandasGUI
实用于具备手动拖放性能的深度剖析。
参考:
https://github.com/adamerose/...
https://github.com/pandas-pro...
https://github.com/fbdesignpr...
https://towardsdatascience.com/
原创不易,感觉不错点个赞。
欢送关注我的集体公众号:Python数据迷信
数据迷信学习网站:datadeepin