利用python两种方法教你一行代码实现探索性数据分析报告


💮两种方法教你一行代码实现探索性数据分析报告

==探索性数据分析(EDA)== 是使用可视化方法总结和分析数据集主要特征的过程。EDA是数据科学家要做的第一部分,如果我们不懂得如何进行EDA,那么无法对数据进行进一步的建模。上一篇文章我以泰坦尼克号数据为例,介绍了如何使用python详细的进行探索性数据分析,但有时这是很耗费时间的,现在,我介绍两种方法实现==一行代码生成探索性数据分析报告==。分别使用以下两个包,如果没有安装的小伙伴先去安装一下。

  • Sweetviz
  • pandas_profiling

我们照样使用==泰坦尼克号数据集==进行分析,需要相关数据集的看我这篇文章:blog.csdn.net/weixin_4505...

  • 先导入数据
python 复制代码
import pandas as pd
from pandas_profiling import ProfileReport
df = pd.read_csv("train.csv")
df.head()

.dataframe tbody tr th:only-of-type { vertical-align: middle; } .dataframe tbody tr th { vertical-align: top; } .dataframe thead th { text-align: right; }

| | PassengerId | Survived | Pclass | Name | Sex | Age | SibSp | Parch | Ticket | Fare | Cabin | Embarked |
| 0 | 1 | 0 | 3 | Braund, Mr. Owen Harris | male | 22.0 | 1 | 0 | A/5 21171 | 7.2500 | NaN | S |
| 1 | 2 | 1 | 1 | Cumings, Mrs. John Bradley (Florence Briggs Thayer) | female | 38.0 | 1 | 0 | PC 17599 | 71.2833 | C85 | C |
| 2 | 3 | 1 | 3 | Heikkinen, Miss. Laina | female | 26.0 | 0 | 0 | STON/O2. 3101282 | 7.9250 | NaN | S |
| 3 | 4 | 1 | 1 | Futrelle, Mrs. Jacques Heath (Lily May Peel) | female | 35.0 | 1 | 0 | 113803 | 53.1000 | C123 | S |

4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S
python 复制代码
df.shape
scss 复制代码
(891, 12)

🏵️1. Sweetviz

==Sweetviz== 一个python开源库,通过基本的可视化来分析数据,并生成一个html文件。这个库的主要优点是我们可以 ==比较数据集==。 首先我们创建一个名为sweet_Analysized_report的文件,显示探索性数据分析结果。在本报告中,我们可以很容易地找到不同变量的特征,如:数量、缺失值、不同值、最大值、最小值、平均值等。具体代码和结果如下图所示

python 复制代码
import sweetviz as sv
sweet_report = sv.analyze(df)
sweet_report.show_html('sweet_report.html')
  • ==相关系数热力图==

  • ==Age分布情况==

  • ==sibsip分布情况==

==在这个Html文件中,我们可以看到其他每个变量的分布情况,大家可以自行验证测试。==

🌹2. 比较探索性数据分析

Sweetviz还支持比较不同数据集的探索性数据分析,首先,我们将数据集分成两部分,然后进行比较,然后保存此比较报告。数据集的两部分显示两种不同的颜色橙色蓝色。具体代码和结果见下文:

python 复制代码
df1 = sv.compare(df[445:], df[:445])
df1.show_html('Compare.html')

这里我把数据分为两部分,分别有445和446个数据。

  • ==survived分布情况==
  • ==Pclass分布情况==

  • ==sex分布情况==

🥀3. pandas_profiling

==pandas_profiling==基于pandasDataFrame数据类型,可以简单快速地进行探索性数据分析。和sweetviz类似,pandas_profiling可以返回一个html文件,包含如下内容

  • 数据整体概要:数据类型,唯一值,缺失值等
  • 各个变量的描述性统计分析
  • 各个变量的分布情况,直方图和条形图
  • 变量间的相关系数热力图等

具体代码和结果如下:

python 复制代码
design_report = ProfileReport(df)
design_report.to_file(output_file='report.html')
  • ==变量分布情况==

  • ==相关系数热力图==

  • ==变量关系图==

  • ==数据总体概要==

✨总结

用上述两种方法得到的探索性数据分析是非常简易的。如果要想详细了解数据的话,建议一步一步根据自己的需求进行分析。具体可以看下面这篇推荐的文章,不过通过上述两种方法可以让我们大致初步的了解一下数据情况,并且可以节约很多时间(毕竟探索性数据分析真的很花费时间)

相关推荐
CodeCraft Studio1 小时前
CAD文件处理控件Aspose.CAD教程:使用 Python 将绘图转换为 Photoshop
python·photoshop·cad·aspose·aspose.cad
Python×CATIA工业智造3 小时前
Frida RPC高级应用:动态模拟执行Android so文件实战指南
开发语言·python·pycharm
onceco3 小时前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
狐凄4 小时前
Python实例题:基于 Python 的简单聊天机器人
开发语言·python
悦悦子a啊5 小时前
Python之--基本知识
开发语言·前端·python
笑稀了的野生俊7 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
Naiva7 小时前
【小技巧】Python+PyCharm IDE 配置解释器出错,环境配置不完整或不兼容。(小智AI、MCP、聚合数据、实时新闻查询、NBA赛事查询)
ide·python·pycharm
路来了7 小时前
Python小工具之PDF合并
开发语言·windows·python
蓝婷儿7 小时前
Python 机器学习核心入门与实战进阶 Day 3 - 决策树 & 随机森林模型实战
人工智能·python·机器学习
AntBlack8 小时前
拖了五个月 ,不当韭菜体验版算是正式发布了
前端·后端·python