拿到数据后,了解列数、行数、取值分布、缺失值、列之间的相关关系等等,这个过程叫做 EDA
(Exploratory Data Analysis,探索性数据分析),用EDA工具可以方便地用来查看变量统计特征,快速总结数据特征
1.pandas_profiling
只需要简单看一下数据分布特征的,推荐第一种,数据量不能特别大,生成报告的内存可能会爆
参考pandas_profiling :教你一行代码生成数据分析报告 - 知乎
安装pandas_profiling可以使用pip、conda或者下载文件安装,非常方便。
我这里使用pip方式,在命令行输入:
pip install pandas-profiling
安装可能遇到权限问题 执行pip install --user pandas-profiling能正常安装
import seaborn as sns
import pandas as pd
import pandas_profiling as pp
# 加载泰坦尼克数据集
data = sns.load_dataset('titanic')
report = pp.ProfileReport(data)
在jupyter里面可以直接看report内容,或者可以导出到html
report.to_file('report.html')
对于数据集的每一列,pandas_profiling会提供以下统计信息:
1、概要:数据类型,唯一值,缺失值,内存大小
2、分位数统计:最小值、最大值、中位数、Q1、Q3、最大值,值域,四分位
3、描述性统计:均值、众数、标准差、绝对中位差、变异系数、峰值、偏度系数
4、最频繁出现的值,直方图/柱状图
5、相关性分析可视化:突出强相关的变量,Spearman, Pearson矩阵相关性色阶图
并且这个报告可以导出为HTML,非常方便查看。每列有频数,缺失率,是否唯一等特征统计,是非常方便的。
2. Dtale
可以交互的分析工具,功能比pandas-profiling强,多了很多交互操作的功能,可以做数据处理,值填充,数据交互
参考 【DTale】数据分析强大工具DTale的使用_Koma_zhe的博客-CSDN博客
安装pip install dtale
import seaborn as sns
import pandas as pd
import dtale
# 加载泰坦尼克数据集
data = sns.load_dataset('titanic')
dtale.show(data)
返回一个html链接,可以看到网页版数据分析结果
3.Sweetviz
和pandas-profiling功能类似,有个特点是支持训练数据集和测试数据集的对比。
支持的numpy版本太低,和本地numpy版本有冲突,会报np.warnings找不到的错误
用github上其他用户修复的分支
pip install git+https://github.com/frank1010111/sweetviz.git@d6f4d8bb98ffddc2123bec57b080ba86fc64c6f8
import pandas as pd
import sweetviz as sv
import seaborn as sns
# 加载泰坦尼克数据集
data = sns.load_dataset('titanic')
report = sv.analyze(data)
参考: