10 个很棒的 Python 自动探索性数据分析库,如果它们不是开源的,你就不必使用它们!
转载自:公众号丨Data STUDIO
探索性数据分析是数据科学模型开发和数据集研究的重要组成部分之一。当你得到一个新的数据集时,你首先必须花费大量的时间进行EDA来研究数据集中的固有信息。自动化EDA Python包只需几行Python代码即可执行EDA。
在本文中,我们整理了 10 个可以自动运行 EDA 并生成有关数据的见解的 Python 包,看看它们具有哪些功能以及它们能够在多大程度上帮助我们自动解决 EDA 需求。
- DTale
- Pandas 分析
- sweetviz
- autoviz
- 数据准备
- KLib
- dabl
- 速度ML
- datatile
- edaviz
1、D- 故事

D-Tale 使用 Flask 作为后端,React 前端,并与 ipython 笔记本和终端无缝集成。 D-Tale 支持 Panda 的 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 扩展了 panda 的 DataFrame df.profile_report(),并且在大型数据集上工作得很好;它可以在几秒钟内创建报告。
#导入前安装以下库
import pandas as pd
from pandas_profiling import ProfileReport
#EDA with pandas profiling
profile = ProfileReport(pd.read_csv('titanic .csv ' ) , exploratory=True)
#将结果保存到 HTML 文件
profile.to_file("output.html")
3. Sweetviz
Sweetviz 是一个开源 Python 库,只需要两行 Python 代码。该代码可以生成漂亮的可视化效果并作为 HTML 应用程序启动 EDA(探索性数据分析)。 Sweetviz 包围绕快速可视化目标值和比较数据集而构建。
import pandas as pd
import sweetviz as sv
#EDA with Autoviz
sweet_report = sv.analyze(pd.read_csv("titanic.csv"))
#结果保存到 HTML 文件
sweet_report.show_html('sweet_report.html')
Sweetviz 库生成的报告包含数据集、相关性、分类和数值特征关联的总体概述。
4。 AutoViz
Autoviz 软件包可以通过一行代码自动可视化任何大小的数据集,并自动生成 HTML、散景和其他报告。用户可以与 AutoViz 包生成的 HTML 报告进行交互。
将 pandas 导入为 pd
from autoViz.AutoViz_Class import AutoViz_Class
#EDA with Autoviz
autoviz = AutoViz_Class().AutoViz('train.csv')
5. Dataprep
Dataprep 是一个用于分析、准备和处理数据的开源 Python 包。DataPrep 构建在 Pandas 和 Dask DataFrame 之上,可以轻松与其他 Python 库集成。
DataPrep 在这 10 个包中运行速度最快,并且可以在几秒钟内生成 Pandas/Dask DataFrame 的报告。
来自dataprep.datasets导入load_dataset
来自dataprep.eda导入create_report
df = load_dataset("titanic.csv")
create_report(df).show_browser()
6、Klib
klib 是一个用于导入、清理、分析和预处理数据的 Python 库。
导入klib
将pandas导入为pd
df = pd.read_csv('DATASET.csv')
klib.missingval_plot(df)
klib.corr_plot(df_cleaned, an not=Fals e )
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 dabl
df = 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 Speedml
sml = Speedml('../input/train.csv', '../input/test.csv',
target = '幸存', uid = 'PassengerId' )
sml.train.head()
sml.plot.correlate()
sml.plot.distribute()
sml.plot.ordinal('Parch')
sml.plot .ordinal('SibSp')
sml.plot.连续('年龄')
9. DataTile
DataTile(以前称为 Pandas-Summary)是一个开源 Python 软件包,负责管理、汇总和可视化数据。 DataTile 本质上是 PANDAS DataFrame describe() 函数的扩展。
将 pandas 导入为 pd
from datatile.summary.df import DataFrameSummary
df = pd.read_csv('titanic.csv')
dfs = DataFrameSummary(df) dfs .摘要( )
10。 edaviz
edaviz 是一个 Python 库,可用于 Jupyter Notebook 和 Jupyter Lab 中的数据探索和可视化。它原本非常好用,但后来被Databricks收购并集成到Bamboolib中,所以这里简单演示一下。
总结
在本文中,我们介绍了 10 个自动化探索性数据分析 Python 包,它们可以通过几行 Python 代码生成数据摘要和可视化。自动化工作可以节省我们大量时间。
Dataprep 是我最常用的 EDA 包。 AutoViz 和 D-table 也是不错的选择。如果您需要定制分析,可以使用 Klib。 SpeedML 集成了很多东西。单独使用它进行EDA分析并不是特别合适。 ,其他套餐可根据个人喜好选择。事实上,它们仍然非常有用。最终,不应考虑 edaviz,因为它不再开源。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。