EDA是数据分析必须的过程,用来查看变量统计特征,可以此为基础尝试做特征工程。

1. Pandas_Profiling

这个属于三个中最轻便、简单的了。它可以快速生成报告,一览变量概况。首先,我们需要安装该软件包。

# 安装Jupyter扩展widget

jupyter nbextension enable --py widgetsnbextension

# 或者通过conda安装

conda env create -n pandas-profiling

conda activate pandas-profiling

conda install -c conda-forge pandas-profiling

安装成功后即可导入数据直接生成报告了。

import pandas as pd

import seaborn as sns

mpg = sns.load_dataset('mpg')

mpg.head()

from pandas_profiling import ProfileReport

profile = 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的一些优势在于:

分析有关目标值的数据集的能力

两个数据集之间的比较能力

但也有一些缺点:

变量之间没有可视化,例如散点图

报告在另一个标签中打开

3. pandasGUI

PandasGUI与前面的两个不同,PandasGUI不会生成报告,而是生成一个GUI(图形用户界面)的数据框,我们可以使用它来更详细地分析我们的Dataframe。

首先,安装PandasGUI。

# pip安装

pip install pandasgui

然后,运行几行代码试一下。

from pandasgui import show

# 部署GUI的数据集

gui = show(mpg)

在此GUI中,可以做很多事情,比如过滤、统计信息、在变量之间创建图表、以及重塑数据。这些操作可以根据需求拖动选项卡来完成。

比如像下面这个统计信息。

最牛X的就是绘图器功能了。用它进行拖拽操作简直和excel没有啥区别了,操作难度和门槛几乎为零。

还可以通过创建新的数据透视表或者融合数据集来进行重塑。

然后,处理好的数据集可以直接导出成csv。

pandasGUI的一些优势在于:

可以拖拽

快速过滤数据

快速绘图

缺点在于:

没有完整的统计信息

不能生成报告

4. 结论

Pandas Profiling、Sweetviz和PandasGUI都很不错,旨在简化我们的EDA处理。在不同的工作流程中,每个都有自己的优势和适用性,三个工具具体优势如下:

Pandas Profiling 适用于快速生成单个变量的分析。

Sweetviz 适用于数据集之间和目标变量之间的分析。

PandasGUI适用于具有手动拖放功能的深度分析。

以下文章来源于Python数据科学。 作者:东哥起飞

python程序员工资高吗_Python程序员必备:EDA数据分析神器,老板疯狂加工资相关推荐

  1. 程序员的工资高,到底程序员的工资有多高?那些你不了解的程序员

    都说程序员的工资高,程序员工资是不是过高? 如果和国内和其他职业横向比较,是的,局部过高.全世界和其他程序员(主要是美帝)比,不是,太低.互联网是不是毒瘤?以后优秀的人才不都跑去当码农了?宏观角度讲, ...

  2. 程序员的工资高,到底程序员的工资有多高?你不了解的程序员!

    都说程序员的工资高,程序员工资是不是过高? 如果和国内和其他职业横向比较,是的,局部过高.全世界和其他程序员(主要是美帝)比,不是,太低.互联网是不是毒瘤?以后优秀的人才不都跑去当码农了?宏观角度讲, ...

  3. python面试技巧和注意事项_Python 程序员面试须知须会的5个问题

    原标题:Python 程序员面试须知须会的5个问题 作为一个程序员,可能或多或少经历过一些技术面试,有些是编程语言本身的问题,有些是跟工程相关的问题.今天我们来总结关于Python程序员面试的时候经常 ...

  4. python语言采用编译执行方式_Python程序的执行过程 解释型语言和编译型语言

    我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言,那么生成的*.pyc文件是什么呢?c应 ...

  5. python采用编译型方式执行_Python程序的执行过程 解释型语言和编译型语言

    我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言,那么生成的*.pyc文件是什么呢?c应 ...

  6. python语言案例教程张太红_Python程序代码相似度检测

    实践与经验 现代计算机 2014.12 上 Python 程序代码相似度检测 赵明洪,张太红,王正敏 (新疆农业大学计算机与信息工程学院,乌鲁木齐 830052) 摘要:代码剽窃是程序语言课程中经常出 ...

  7. 小程序测试用例模板_微信小程序样式:高质量小程序样式模板大全

    新手想要制作出美观的小程序,你需要多参考一些好看的微信小程序样式.今天就带大家分析几个高质量小程序的样式,看看别是怎么把小程序做得美观又吸引人的: 1.电商小程序样式 电商小程序首页一般是按照&quo ...

  8. 前端和后端哪个工资高_新媒体运营和网络运维哪个好,哪个工资待遇高,门槛低?...

    文/水流云在草青青 通常情况下,门槛高低和待遇高低成反比.工资待遇和工作本领成正比.除非你有人脉或贵人,除非你踩狗屎运.门槛低,待遇高的工作对绝大多数人而言是梦话. 不知题主朋友的特长是什么?有哪些工 ...

  9. 学python工资高吗-我程序员年薪 80 万被亲戚鄙视不如在二本教书的博士生?

    但是毕业后,在父母辈的眼里似乎只有公务员.律师.教师这三大铁饭碗是他们心中的最佳职业,我第一次跟我妈说我从事的是IT行业程序员,她回答道:那是修电脑的吗?然后程序员行业被外界吐槽似乎司空见惯了,今日刷 ...

最新文章

  1. java实现Hbase中的查询(一)Filter方式
  2. 18岁初中毕业学Java_刚满十八 初中毕业 java自学完了 没学历 该怎么办?
  3. WCF Basic(1)-操作重载
  4. LDAP命令介绍---dsreplication
  5. java中BigDicemal的运算
  6. mos管结电容等效模型_MOS管等效模型
  7. 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
  8. 美国甲骨文的CEO拉里.埃利森耶鲁大学演讲(附英文)
  9. Java基础-----基类Object源码分析
  10. DenseNet:密集卷积网络(2018)
  11. iOS - iOS8.0 至 iOS15.0 版本变化
  12. 现代文文言文转化器_初中语文丨7个文言文背诵技巧,不再为背书发愁,实用收藏...
  13. 请问悉尼大学计算机专业,悉尼大学计算机专业去留学怎么样 是强势专业吗?...
  14. 回溯法——利用解空间树解决0-1背包问题
  15. 区块链行业被攻击怎么办?
  16. java使用ffmpeg对视频进行转码和分辨率转换
  17. [从头读历史] 第249节 易经
  18. LA4043 KM算法
  19. Android音视频【三】硬解码播放H264
  20. 回帖送大奖 『和AI在一起』

热门文章

  1. 快速的JavaScript,JS性能优化
  2. C++中函数指针数组的使用
  3. maven下载安装环境配置
  4. mysql如何进行数据透视,mysql-如何优化数据透视表的条件检查?
  5. 计算机如何建筑材料结合所学知识,《技术与设计2》第三、四单元综合测试卷...
  6. DOM、Window操作
  7. 小白一枚。。。记录下这种构造函数
  8. ACdream群赛(4)总结
  9. RK3288的GTxx触摸屏驱动调试
  10. Ubuntu20.04之安装VirtualBox虚拟机