生成数据的详细报告pandas-profiling库(python3)
Posted langb2014
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成数据的详细报告pandas-profiling库(python3)相关的知识,希望对你有一定的参考价值。
pandas-profiling 第一印象应该是 pandas吧,pandas-profiling确实和pandas有点关系,pandas-profiling能够使用DataFrame自动生成数据的详细报告,相比describe生成的profile要详细的多。
pandas_profiling基于pandas的DataFrame数据类型,可以简单快速地进行探索性数据分析。
对于数据集的每一列,pandas_profiling会提供以下统计信息:
1、概要:数据类型,唯一值,缺失值,内存大小2、分位数统计:最小值、最大值、中位数、Q1、Q3、最大值,值域,四分位
3、描述性统计:均值、众数、标准差、绝对中位差、变异系数、峰值、偏度系数
4、最频繁出现的值,直方图/柱状图
5、相关性分析可视化:突出强相关的变量,Spearman, Pearson矩阵相关性色阶图
并且这个报告可以导出为html,非常方便查看。
官方地址:https://github.com/pandas-profiling/pandas-profiling
pip安装失败,然后下载源码安装,也报错setup.py的18行:'must be unicode, not str' TypeError
源码中:
with (source_root / "pandas_profiling" / "version.py").open("w", encoding="utf-8") as f:
f.writelines(
[
'"""This file is auto-generated by setup.py, please do not alter."""\\n',
'__version__ = ""\\n'.format(version),
"\\n",
]
)
改为:
with (source_root / "pandas_profiling" / "version.py").open("w", encoding="utf-8") as f:
f.writelines(
[
'"""This file is auto-generated by setup.py, please do not alter."""\\n'.decode("utf-8"),
'__version__ = \\n'.format(version).decode("utf-8"),
"\\n".decode("utf-8"),
]
)
然后就可以正常使用了。
看看一个官方简单例子:
import numpy as np
import pandas as pd
import pandas_profiling
df = pd.DataFrame(
np.random.rand(100, 5),
columns=['a', 'b', 'c', 'd', 'e']
)
df.profile_report(style='full_width':True)
profile = df.profile_report()
rejected_variables = profile.get_rejected_variables(threshold=0.9)
profile = df.profile_report(title='Pandas Profiling Report')
profile.to_file(output_file="output.html")
效果显示:
一个初级简单入门例子完成。。。。。。。。。后续会尝试一些自己的大数据可视化的内容。
以上是关于生成数据的详细报告pandas-profiling库(python3)的主要内容,如果未能解决你的问题,请参考以下文章
Pandas系列(十七)-EDA(pandas-profiling)
数据分析可视化利器:python pandas-profiling 一行代码EDA 探索性数据分析