区区几行代码,就能全面实现 Python 自动探索性数据分析
创始人
2024-05-23 01:23:17
0

探索性数据分析是数据科学模型开发和数据集研究的重要组成部分之一。在拿到一个新数据集时首先就需要花费大量时间进行EDA来研究数据集中内在的信息。自动化的EDA Python包可以用几行Python代码执行EDA。

在本文中整理了10个可以自动执行EDA并生成有关数据的见解的Python包,看看他们都有什么功能,能在多大程度上帮我们自动化解决EDA的需求。

文章目录

    • 技术交流
    • 1、D-Tale
    • 2、Pandas-Profiling
    • 3、Sweetviz
    • 4、AutoViz
    • 5、Dataprep
    • 6、Klib
    • 7、Dabl
    • 8、Speedml
    • 9、DataTile
    • 10、edaviz
    • 总结

技术交流

技术要学会分享、交流,不建议闭门造车。

本文由技术群粉丝推荐、分享,问题咨询、资料获取、数据、技术交流提升,均可加交流群获取,群友已超过3000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

方式①、添加微信号:dkl88191,备注:来自CSDN
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

1、D-Tale

在这里插入图片描述

D-Tale使用Flask作为后端、React前端并且可以与ipython notebook和终端无缝集成。D-Tale可以支持Pandas的DataFrame, Series, MultiIndex, DatetimeIndex和RangeIndex。

import dtale
import pandas as pd
dtale.show(pd.read_csv("titanic.csv"))

图片

D-Tale库用一行代码就可以生成一个报告,其中包含数据集、相关性、图表和热图的总体总结,并突出显示缺失的值等。D-Tale还可以为报告中的每个图表进行分析,上面截图中我们可以看到图表是可以进行交互操作的。

2、Pandas-Profiling

在这里插入图片描述

Pandas-Profiling可以生成Pandas DataFrame的概要报告。panda-profiling扩展了pandas DataFrame df.profile_report(),并且在大型数据集上工作得非常好,它可以在几秒钟内创建报告。

#Install the below libaries before importing
import pandas as pd
from pandas_profiling import ProfileReport#EDA using pandas-profiling
profile = ProfileReport(pd.read_csv('titanic.csv'), explorative=True)#Saving results to a HTML file
profile.to_file("output.html")

图片

3、Sweetviz

图片

Sweetviz是一个开源的Python库,只需要两行Python代码就可以生成漂亮的可视化图,将EDA(探索性数据分析)作为一个HTML应用程序启动。Sweetviz包是围绕快速可视化目标值和比较数据集构建的。

import pandas as pd
import sweetviz as sv#EDA using Autoviz
sweet_report = sv.analyze(pd.read_csv("titanic.csv"))#Saving results to HTML file
sweet_report.show_html('sweet_report.html')

Sweetviz库生成的报告包含数据集、相关性、分类和数字特征关联等的总体总结。

图片

4、AutoViz

在这里插入图片描述

Autoviz包可以用一行代码自动可视化任何大小的数据集,并自动生成HTML、bokeh等报告。用户可以与AutoViz包生成的HTML报告进行交互。

import pandas as pd
from autoviz.AutoViz_Class import AutoViz_Class#EDA using Autoviz
autoviz = AutoViz_Class().AutoViz('train.csv')

图片

5、Dataprep

图片

Dataprep是一个用于分析、准备和处理数据的开源Python包。DataPrep构建在Pandas和Dask DataFrame之上,可以很容易地与其他Python库集成。

DataPrep的运行速度这10个包中最快的,他在几秒钟内就可以为Pandas/Dask DataFrame生成报告。

from dataprep.datasets import load_dataset
from dataprep.eda import create_reportdf = load_dataset("titanic.csv")
create_report(df).show_browser()

在这里插入图片描述

6、Klib

在这里插入图片描述

klib是一个用于导入、清理、分析和预处理数据的Python库。

import klib
import pandas as pddf = pd.read_csv('DATASET.csv')
klib.missingval_plot(df)

在这里插入图片描述

klib.corr_plot(df_cleaned, annot=False)

图片

klib.dist_plot(df_cleaned['Win_Prob'])
klib.cat_plot(df, figsize=(50,15))

klibe虽然提供了很多的分析函数,但是对于每一个分析需要我们手动的编写代码,所以只能说是半自动化的操作,但是如果我们需要更定制化的分析,他是非常方便的。

图片

7、Dabl

Dabl不太关注单个列的统计度量,而是更多地关注通过可视化提供快速概述,以及方便的机器学习预处理和模型搜索。

在这里插入图片描述

dabl中的Plot()函数可以通过绘制各种图来实现可视化,包括:

  • 目标分布图

  • 散点图

  • 线性判别分析

import pandas as pd
import dabldf = pd.read_csv("titanic.csv")
dabl.plot(df, target_col="Survived")

图片

8、Speedml

SpeedML是用于快速启动机器学习管道的Python包。SpeedML整合了一些常用的ML包,包括 Pandas,Numpy,Sklearn,Xgboost 和 Matplotlib,所以说其实SpeedML不仅仅包含自动化EDA的功能。

SpeedML官方说,使用它可以基于迭代进行开发,将编码时间缩短了70%。

from speedml import Speedmlsml = Speedml('../input/train.csv', '../input/test.csv',target = 'Survived', uid = 'PassengerId')
sml.train.head()

在这里插入图片描述

sml.plot.correlate()

图片

sml.plot.distribute()

图片

sml.plot.ordinal('Parch')

图片

sml.plot.ordinal('SibSp')

图片

sml.plot.continuous('Age')

在这里插入图片描述

9、DataTile

DataTile(以前称为Pandas-Summary)是一个开源的Python软件包,负责管理,汇总和可视化数据。DataTile基本上是PANDAS DataFrame describe()函数的扩展。

import pandas as pd
from datatile.summary.df import DataFrameSummarydf = pd.read_csv('titanic.csv')
dfs = DataFrameSummary(df)
dfs.summary()

在这里插入图片描述

10、edaviz

edaviz是一个可以在Jupyter Notebook和Jupyter Lab中进行数据探索和可视化的python库,他本来是非常好用的,但是后来被砖厂(Databricks)收购并且整合到bamboolib 中,所以这里就简单的给个演示。

图片

总结

在本文中,我们介绍了10个自动探索性数据分析Python软件包,这些软件包可以在几行Python代码中生成数据摘要并进行可视化。通过自动化的工作可以节省我们的很多时间。

Dataprep是我最常用的EDA包,AutoViz和D-table也是不错的选择,如果你需要定制化分析可以使用Klib,SpeedML整合的东西比较多,单独使用它啊进行EDA分析不是特别的适用,其他的包可以根据个人喜好选择,其实都还是很好用的,最后edaviz就不要考虑了,因为已经不开源了。

相关内容

热门资讯

优秀学子高考经验分享范文【优... 优秀学子高考经验分享范文 篇一高考是每个学生都要面对的重要考试,对于很多人来说,高考是决定未来的关键...
高中易混淆词语解析(最新5篇... 高中易混淆词语解析 篇一在高中阶段,学生们经常会遇到一些易混淆的词语,尤其是在语文和英语学习中。这些...
高考语文常见易读错的词语(经... 高考语文常见易读错的词语 篇一在高考语文考试中,常常会出现一些易读错的词语,这些词语看似简单,却经常...
高考满分作文【推荐6篇】 高考满分作文 篇一:努力与坚持的力量高考是人生中的一次重要考试,它不仅仅是对学生知识的考验,更是对学...
中高考政策介绍资料范文【通用... 中高考政策介绍资料范文 篇一中高考政策是指国家对于中学教育阶段的学生进行高等教育入学选拔的政策。这些...
高考作文金句【最新4篇】 高考作文金句 篇一第一篇内容高考作文,作为考生最重要的一部分,承载着他们多年来的努力和汗水。在这个关...
高考在校表现怎么写范文【推荐... 高考在校表现怎么写范文 篇一高考是每个学生所面临的一次重要考试,它不仅仅考察学生的知识水平,更重要的...
浙江高考作文题点评【优选3篇... 浙江高考作文题点评 篇一在浙江高考作文题中,常常会出现一些与时代潮流和社会热点相关的话题。这些题目旨...
高考优秀范文详解语文32篇(... 高考优秀范文详解语文32篇 篇一:文学与人生的关系文学作为一门艺术,与人生有着密切的联系。在高考优秀...
江苏省高考作文(实用3篇) 江苏省高考作文 篇一:探索创新教育的价值与挑战创新教育是当今社会教育改革的热点议题之一。它以培养创新...
高考作文议论文时事素材(实用... 高考作文议论文时事素材 篇一标题:网络教育的优势与挑战随着互联网的迅猛发展,网络教育正逐渐成为教育领...
语文高考作文必备范文(推荐6... 语文高考作文必备范文 篇一关于传统文化的重要性传统文化是一个国家和民族的精神财富,它承载着历史的记忆...
2022高考作文规范范文【优... 2022高考作文规范范文 篇一高考作文规范范文随着2022年高考的临近,作为考生的我们需要了解并掌握...
新高考语文题目格式范文(优选... 新高考语文题目格式范文 篇一题目:《生活中的美好瞬间》导语:生活中,我们时常会遇到一些让人感到温暖和...
高考英语满分作文【通用6篇】 高考英语满分作文 篇一:如何提高英语口语能力英语口语能力在高考英语考试中占据重要的比重,但很多学生在...
关于让高考成绩再提高的方法(... 关于让高考成绩再提高的方法 篇一如何提高高考成绩?这是每位学生都关心的问题。高考成绩对于学生的未来发...
议论文人物故事写作素材15例... 议论文人物故事写作素材15例 篇一1. 父母的无私奉献 故事背景:主人公的父母为了供他上大学,...
教育部考试中心称不会取消全国... 教育部考试中心称不会取消全国统一高考 篇一近日,教育部考试中心发表声明称,不会取消全国统一高考。这一...
高考报考志愿个人陈述范文【最... 高考报考志愿个人陈述范文 篇一我的高中三年时光即将结束,我心中充满了对未来的期待和憧憬。回顾过去的学...
手握一滴水高考满分作文【精简... 手握一滴水高考满分作文 篇一探寻水的力量水,是生命之源,也是大自然最神奇的力量之一。曾经,我手握着一...