探索性数据分析(EDA)是数据科学项目中至关重要的第一步。它涉及对数据进行分析和可视化,以了解其主要特征、发现模式、定位异常值并确定变量之间的关系。EDA 通常是在进行正式统计分析或建模之前进行的初步步骤。EDA 的主要目的是在做出任何假设之前帮助查看数据。它可以帮助识别明显的错误,更好地理解数据中的模式,检测异常值或异常事件,发现变量之间有趣的关系。

数据科学家可以使用探索性分析来确保他们得出的结果是有效的,并且适用于任何预期的业务成果和目标。EDA还可以帮助用户确认他们提出的问题是否正确。EDA 可以帮助回答有关标准偏差、分类变量和置信区间的问题。一旦 EDA 完成并得出结果,其功能就可用于更复杂的数据分析或建模,包括机器学习。

EDA的主要方法包括:
- 数据分布:研究数据点的分布,了解其范围、中心趋势(平均值、中位数)和离散度(方差、标准差)。
- 图形表示法:利用直方图、箱形图、散点图和柱形图等图表,直观地显示数据内部的关系和变量的分布。
- 离群值检测:识别偏离其他数据点的异常值。异常值会影响统计分析,并可能表明数据录入错误或特殊情况。
- 相关性分析:检查变量之间的关系,了解变量之间的相互影响。这包括计算相关系数和创建相关矩阵。
- 缺失值处理:根据缺失数据的影响和数量,检测并决定如何处理缺失数据点,是通过估算还是删除。
- 汇总统计:计算关键统计数据,以便深入了解数据趋势和细微差别。
- 测试假设:许多统计测试和模型都假定数据满足某些条件(如正态性或同方差性)。EDA 可帮助验证这些假设。
探索性数据分析(EDA)可以使用各种工具和软件有效地执行,每种工具和软件都具有适合处理不同类型数据和分析要求的独特功能。常用的EDA工具有Power BI和Tableau,它们是用于数据分析和商业智能的领先数据可视化工具,均为商业软件。本文介绍2个能够实现类似Tableau功能的开源python库。

- PyGWalker
PyGWalker 是一个简化数据分析和可视化工作流程的Python库,它能够将pandas dataframe转化为Tableau风格的用户界面,并可以通过简单的拖拽操作来分析和可视化数据。该库提供了一系列强大的功能,使得进行EDA数据分析可视化更加高效。

https://github.com/Kanaries/pygwalker
- 安装
使用pip命令:
pip install pygwalker或者使用conda:
conda install -c conda-forge pygwalker或者使用mamba:
mamba install -c conda-forge pygwalker- 使用
在代码中引入pygwalker和pandas即可使用:
import pandas as pdimport pygwalker as pyg加载数据:
df = pd.read_csv('./mydata.csv')walker = pyg.walk(df)

-
示例
-
修改图表类型

-
比较不同的测量值,可以通过在行/列中添加多个测量值来创建连接视图

-
要制作按维度值划分的多个子视图的分面视图,可将维度放入行或列中以制作分面视图

- 该库提供一个功能强大的数据表,可快速查看数据及其分布

- 与python前端库联合使用,构建数据分析Web APP应用

总之,PyGWalker是Tableau的强大开源替代品,可让用户轻松探索和分析数据。PyGWalker拥有友好的用户界面,并与Python pandas集成,提供了一系列强大的数据可视化功能,让用户能够快速、高效地深入了解数据。2. Lux
Lux 是一个通过自动化可视化和数据分析过程,方便快捷地进行数据探索的Python库。用户只需在 Jupyter notebook中打印出数据帧,Lux 就会输出一组可视化内容,突出显示数据集中有趣的趋势和模式。它的可视化效果通过交互式小工具显示,用户可以快速浏览大量可视化效果,直观了解数据的意义。


https://github.com/lux-org/lux
Lux 采用了一种意图语言(intent language),允许用户以简洁的方式指定其分析意图,并自动推断未指定的细节和确定适当的可视化映射。Lux 的目标是缩小代码与交互界面之间的差距,让数据科学家更轻松地探索数据。

- 软件包安装方法
pip install lux-api或者使用conda安装
conda install -c conda-forge lux-api- 在Jupyter Notebook或者VSCode中使用时,需安装并激活luxwidget组件
jupyter nbextension install --py luxwidgetjupyter nbextension enable --py luxwidget- 在Jupyter Lab中使用时,需安装并激活扩展插件
jupyter labextension install @jupyter-widgets/jupyterlab-managerjupyter labextension install luxwidgetLux 将根据意图特征生成相关的数据可视化。用户获得的不再是通用的可视化推荐,而是带有数据集额外特征的定制可视化推荐。在右侧可以看到各种建议的可视化效果,包括地图、时间序列数据等。

可视化结果导出。用户只需选择一个或多个可视化效果,然后点击导出按钮。导出后,用户可以访问导出的可视化数据以及数据可视化背后的代码。

Lux提供易于使用的 API、灵活性以及与数据科学 Python 生态系统的集成。用户无需编写大量代码,就能获得相关的数据探索可视化。有了Lux,用户可以加快数据科学的EDA过程,并根据自己的意图进行定制。
本公众号相关内容推荐:
- 分享一个构建交互式D3js可视化的Python库
- 推荐15个图网络可视化python软件包
- 9个提升科研效率的软件工具
- 生成式人工智能模型颠覆传统天气预报
- 分享5个python可视化图表工具
- 分享17个网络(Network)数据可视化工具
- Napari:一个支持分析大型多维图像数据集的python工具
- 地理空间数据分析可视化R软件包汇总
- 大气海洋科学数据可视化案例集#2
- 一个快速检索和下载NASA地球科学数据的Python软件包
- 可视化呈现海洋洋流-墨西哥湾流
- 探索NOAA提供的数据产品资源
- 全球海洋船舶定位数据交互式可视化(附数据)
- 地球科学领域开源python包#1
- 地球科学领域开源python包#2
- 大规模空间矢量数据可视化Python库-lonboard
- 可视化呈现2023年是有气象记录以来最热的一年
- 大气海洋科学数据可视化案例集#1
- 地球科学领域计算分析开源Julia软件包
- 地球观测数据可视化工具
- 地球科学领域计算分析开源Julia软件包