一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵

一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵_第1张图片

作者:韩信子@ShowMeAI
数据分析◉技能提升系列:https://www.showmeai.tech/tutorials/33
数据分析实战系列:https://www.showmeai.tech/tutorials/40
本文地址:https://www.showmeai.tech/article-detail/284
声明:版权所有,转载请联系平台与作者并注明出处
收藏ShowMeAI查看更多精彩内容

实际工作中,我们往往依托于业务数据分析制定业务策略。这个过程需要频繁地进行数据分析和挖掘,发现模式规律。对于算法工程师而言,一个有效的 AI 算法系统落地,不仅仅是模型这么简单——数据才是最底层的驱动。

一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵_第2张图片

典型的『机器学习工作流程』包含 6 个关键步骤,其中『探索性数据分析(Exploratory Data Analysis, EDA) 』是至关重要的一步。

  • 定义问题
  • 数据采集和 ETL
  • 探索性数据分析
  • 数据准备
  • 建模(模型训练和选择)
  • 部署和监控

Wiki: In statistics, exploratory data analysis is an approach of analyzing data sets to summarize their main characteristics, often using statistical graphics and other data visualization methods. A statistical model can be used or not, but primarily EDA is for seeing what the data can tell us beyond the formal modeling and thereby contrasts traditional hypothesis testing.

探索性数据分析,通常使用统计图形等数据可视化方法,探索数据的结构和规律,总结数据主要特征的方法。这一过程通常包含细碎的处理步骤和分析操作。

探索性数据分析 EDA 的常用工具

优秀的工具可以简化上述过程!甚至可以一键生成分析报告。本篇 ShowMeAI 给大家总结了截至 2022年 最受欢迎的探索式数据分析工具库,快一起试起来吧!

一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵_第3张图片

通常,我们有以下 3 种方式进行 EDA:

  • 方式1:在 Python/R 中使用库/框架手动分析
  • 方式2:在 Python/R 中使用自动化 EDA 库
  • 方式3:使用 Microsoft Power BI 或 Tableau 等工具

3种方式对应的最佳工具库我们梳理到下文中了,对自动化数据分析感兴趣的同学可以直接跳至『自动化EDA工具库』板块。

方式1:手动分析工具库

Matplotlib

Matplotlib 是一个 Python 进行绘图与交互式可视化的工具。 大家在Python中用到的绝大多数工具包扩展都是构建在 Matplotlib 之上的(包括 Seaborn、HoloViews、ggplot 以及后续提到部分自动化 EDA 工具等)。


基于 Matplotlib 可以借助简单的代码实现:散点图、直方图、条形图、误差图和箱线图,辅助我们理解数据和进行后续工作。

一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵_第4张图片

大家可以从官方 用户指南教程代码示例 中学习,或前往B站观看 视频教程 也推荐下载收藏 ShowMeAI 的 Matplotlib速查表,以便快速查找所需功能。

Seaborn

另一个流行的 Python 数据可视化框架是 Seaborn,它相比 Matplotlib 更为简洁,也拓展了很多分析功能和呈现形式。


大家同样可以通过 Seaborn 的 用户指南和教程 对其进行学习,或前往观看 视频教程。也欢迎阅读 ShowMeAI 总结的 Seaborn速查表,以及 Seaborn 可视化教程 Seaborn工具与数据可视化

Plotly

Plotly 是另外一个用于创建交互式数据可视化的 Python 开源工具库。 Plotly 构建在 Plotly JavaScript 库(plotly.js) 之上,可用于创建基于 Web 的数据可视化,这些可视化可以显示在 Jupyter 笔记本或使用 Dash 的 Web 应用程序中,或保存为单独的 HTML 文件。

一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵_第5张图片

它提供了多达40+种图表类型,包括散点图、直方图、折线图、条形图、饼图、误差线、箱线图、多轴、迷你图、树状图和 3-D 图表(甚至包括等高线图,这在其他数据可视化库中并不常见)。大家可以通过 官方用户指南 进行学习和使用。

Bokeh

Bokeh 是一个 Python 库,用于为现代 Web 浏览器创建交互式可视化。 它可以构建精美的图形,从简单的绘图到带有流数据集的复杂仪表板。 使用 Bokeh,可以创建基于 JavaScript 的可视化,而无需自己编写任何 JavaScript。

一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵_第6张图片

大家可以通过 Bokeh 的 官方网站示例库 了解它的一系列用法。也推荐大家下载收藏 ShowMeAI 的 Bokeh速查表,快速查找所需功能。

Altair

Altair 是 Python 的声明性统计可视化库,基于 Vega 和 Vega-Lite。 Altair 的 API 简单、友好,可以用最少的代码产生漂亮而有效的可视化效果。大家可以通过官方的 Altair Notebook Examples 学习Altair工具库的使用。

一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵_第7张图片

方式2:自动化EDA工具库

pandas-profiling

很多做过 Python 数据分析的同学都很熟悉 Pandas 的 describe 函数,pandas-profiling 通过其低代码接口扩展了对应的功能,将信息以报告的形式呈现。 pandas-profiling 库自动从 pandas DataFrame 生成配置文件报告,整个过程甚至只需要两三行代码。

pandas-profiling 会对单字段和关联字段进行分析。对于数据集的每一列(字段),它会分析如下的内容并呈现在交互式 HTML 报告中:

  • 类型推断:字段列的类型
  • 要点:类型、唯一值、缺失值
  • 分位数统计:包括最小值、Q1、中位数、Q3、最大值、范围、四分位间距
  • 描述性统计:包括均值、众数、标准差、总和、中值绝对差、变异系数、峰度、偏度等
  • 直方图:分类和数字
  • 相关性:Spearman、Pearson 和 Kendall 矩阵
  • 缺失值:矩阵、计数、热图和缺失值的树状图
  • 文本分析:了解文本数据的类别(大写、空格)、脚本(拉丁文、西里尔文)和块(ASCII)
  • 文件和图像分析:提取文件大小、创建日期和尺寸,并扫描截断的图像或包含 EXIF 信息的图像

大家可以在 pandas-profiling 的项目 GitHub 页面获取详细使用方法,简单的数据分析与报告生成过程可以只通过如下1行命令生成(在命令行运行)。

pandas_profiling --title "Example Profiling Report" --config_file default.yaml data.csv report.html

或者在Python中通过如下几行代码完成:

# 读取数据
df = pd.read_csv(file_name)
# 数据分析
profile = ProfileReport(df, title="Data Report", explorative=True)
# html分析报告生成
profile.to_file(Path("data_report.html"))

Sweetviz

Sweetviz 的功能与 pandas-profiling 很相似。 它是一个开源 Python 库,可生成精美的高信息量结果报告,只需两行代码即可启动探索性数据分析过程。 输出是一个完全独立的 HTML 报告(而且可以完整交互式操作)。

Sweetviz的特征

  • 类型推断
  • 摘要信息
  • 目标字段分析
  • 显示目标列与其他特征的关联分析
  • 可视化和对比

SweetViz的官方代码可以在 GitHub 找到。分析与报告生成只需要如下 2 行代码:

# 数据分析
my_report = sv.analyze(data)
# 报告生成
my_report.show_html()

下图为使用 Sweetviz 生成的报告。

AutoViz

AutoViz 是另外 1 个自动化 EDA 框架。 它在功能方面与 Sweetviz 和 pandas-profiling 也比较类似。 AutoViz 只需一行代码即可对任何数据集进行自动可视化,它还可以完成自动字段选择,找到最重要的特征字段进行分析可视化,运行速度也非常快。

AutoViz可以结合Bokeh做交互式数据探索分析,详细教程大家可以在官方 AutoViz 示例 Notebook 找到。核心代码如下:

AV = AutoViz_Class()
_ = AV . AutoViz(filename)

下图所示为使用 AutoViz 生成的报告。

一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵_第8张图片

方式3:数据分析工具软件

Microsoft Power BI

Power BI 是由 Microsoft 开发的交互式数据可视化软件,主要关注商业智能。 它是 Microsoft Power Platform 的一部分。 Power BI 是软件服务、应用程序和连接器的集合,它们协同工作,将不相关的数据源转变为连贯、视觉沉浸式和交互式见解。 可以通过直接从数据库、网页或电子表格、CSV、XML 和 JSON 等结构化文件中读取数据来输入数据。

不过,Power BI 不是开源的,它是一款付费企业工具,提供免费桌面版本。 大家可以从 官方学习指南 学习 Power BI。

Tableau

Tableau 是用于数据分析和商业智能的领先数据可视化工具。 Gartner 的魔力象限将 Tableau 列为分析和商业智能领域的领导者。Tableau 是一种工具,它正在改变我们使用数据解决问题的方式——使人们和组织能够充分利用他们的数据。

下图所示为使用 Tableau 生成的报告。大家前往B站观看 1小时速学视频教程

一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵_第9张图片

参考资料

  • Matplotlib 官方教程: https://matplotlib.org/stable/tutorials/index.html
  • Matplotlib 知识速查表: https://www.showmeai.tech/article-detail/103
  • Seaborn 数据可视化教程: https://www.showmeai.tech/article-detail/151
  • Seaborn 知识速查表: https://www.showmeai.tech/article-detail/105
  • Plotly 官方教程: https://plotly.com/python/getting-started/
  • Bokeh 官方教程: http://docs.bokeh.org/en/latest/
  • Bokeh 知识速查表: https://www.showmeai.tech/article-detail/104
  • Altair Notebook Examples: https://github.com/altair-viz/altair_notebooks
  • pandas-profilling 详细教程: https://github.com/ydataai/pandas-profiling
  • SweetViz 官方代码: https://github.com/fbdesignpro/sweetviz
  • AutoViz 示例: https://github.com/AutoViML/AutoViz/tree/master/Examples
  • Power BI 官方学习指南: https://powerbi.microsoft.com/en-ca/learning/

你可能感兴趣的