我们使用Pandas进行数据分析时,首先要先对数据集进行探索性数据分析(Exploratory data analysis),以便有一个大体的了解,明确后续数据处理、分析方向,数据EDA大致包含如下内容:
- 感知数据的直观表现
- 挖掘潜在的结构
- 提取重要的变量
- 处理异常值
- 检验统计假设
- 建立初步模型
- 决定最优因子的设置
通常,我们使用pandas.describe方法,对数据集可以有个大体的了解,如下:
执行上述代码,输出如下:
然后,再通过分析各数据字段之间的关系,如 使用折线图,散点图,柱状图,关联分析等等,进一步探索数据集。
不难发现,数据EDA操作,通常需要连续的N多操作,步骤还是比较繁琐的。
相见恨晚
直到最近在GitHub上闲逛时,看到了pandas-profiling项目,其使用df.profile_report 扩展了pandas DataFrame,实现了一行代码就可以生成一份超详细的数据分析报告,强无敌!包含以下内容:
- 概要:类型、惟一值、缺失值。
- 分位数统计:如最小值,Q1(较小四分位数),Q2(中位数),Q3(较大四分位数)。
- 描述性统计:均值、模式、标准差和中位数绝对偏差、变异系数、峰度、偏度。
- 最常值
- 柱状图
- 相关性:突出高度相关的变量,斯皮尔曼,皮尔逊和肯德尔矩阵。
- 缺失值:矩阵,计数,热图和树状图的缺失值。
安装
使用pip进行安装,十分简单。
安装过程如下:
实例
我们以泰坦尼克号数据集为例,体验一下 pandas_profiling 的强大。代码如下:
查看上述代码执行生成的Titanic_Eda.html,如下:
强无敌。Gif可能不太清楚,贴几张清晰的图,如下: