一般在python进行数据分析/统计分析时,第一步总是对数据进行一些描述性分析、相关性分析,但是总会是有一大堆代码,那么今天就介绍一个神器pandas_profiling,一行命令就能搞定大部分描述性分析!




python 数据分析 daniel groner pdf Python 数据分析报告_python一行输出五个数据


pip install pandas_profiling


python 数据分析 daniel groner pdf Python 数据分析报告_python (describe())_02


那么我们继续使用之前文章中使用过很多次的NBA数据集,还记得我们在介绍pandas使用的那篇文章中分很多章节去讲解如何使用pandas对该数据集进行一些基础的数据分析吗(python数据分析万字干货!一个数据集全方位解读pandas)。那就是使用df.describe()函数


python 数据分析 daniel groner pdf Python 数据分析报告_数据分析_03


df.describe()函数虽然功能强大,但对于进行详细的探索性数据分析却有些基础。 pandas_profiling扩展了pandas DataFrame的功能,可以使用df.profile_report()进行快速的数据分析。只需要一行命令就能得到所有结果!

首先还是先导入数据


import pandas as pd
import pandas_profiling
nba = pd.read_csv('nba_all_elo.csv')


然后只用一行命令就能得到全部的数据分析结果


nba.profile_report()


python 数据分析 daniel groner pdf Python 数据分析报告_python一行输出五个数据_04


可以看到,除了之前我们需要的一些描述性统计数据,该报告还包含以下信息:

  • 类型推断:检测数据帧中列的数据类型。
  • 要点:类型,唯一值,缺失值
  • 分位数统计信息,例如最小值,Q1,中位数,Q3,最大值,范围,四分位数范围
  • 描述性统计数据,例如均值,众数,标准偏差,总和,中位数绝对偏差,变异系数,峰度,偏度
  • 最常使用的值
  • 直方图
  • 相关性矩阵
  • 缺失值矩阵,计数,热图和缺失值树状图
  • 文本分析:了解文本数据的类别(大写,空格),脚本(拉丁,西里尔字母)和块(ASCII)

当然我们还以将该报告保存为html,这样结合Django可以快速将本次分析结果部署至云端随时随地查看!


result = pandas_profiling.ProfileReport(nba)
result.to_file("./result.html")


参考资料

[1]

GitHub: https://github.com/pandas-profiling/pandas-profiling