作者:东哥腾飞

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 ProfilingSweetvizPandasGUI都很不错,旨在简化咱们的EDA解决。在不同的工作流程中,每个都有本人的劣势和适用性,三个工具具体劣势如下:

  • Pandas Profiling 实用于疾速生成单个变量的剖析。
  • Sweetviz 实用于数据集之间和指标变量之间的剖析。
  • PandasGUI实用于具备手动拖放性能的深度剖析。
参考:
https://github.com/adamerose/...
https://github.com/pandas-pro...
https://github.com/fbdesignpr...
https://towardsdatascience.com/

原创不易,感觉不错点个赞。

欢送关注我的集体公众号:Python数据迷信

数据迷信学习网站:datadeepin