From: https://mp.weixin.qq.com/s/8eu8srnv_aD1BUy0kIc5ng
-----------------------------------------------------------------------------------
Sweetviz是一个开源Python库,只需两行代码即可生成美观、高效率的可视化报告,快速进行EDA(探索性数据分析),输出是一个固定格式HTML报告文件。这个库围绕快速可视化目标值和比较数据集而构建。其目标是帮助快速分析目标特征、训练与测试数据以及其他数据表征任务。
主要功能
1、快速分析报告
仅需两行代码即可产出html分析报告,自动识别数据类型,对各字段产出分布图、相关系数矩阵图、统计指标(唯一值数量,缺失率,重复率,最小/最大/中位数/众数/均值,分位数等等)
2、目标变量分析
可自行指定y变量,报告会增加x变量与y变量的二维分布图
3、不同数据集对比分析
不同数据集的分布对比,如train、test分布对比 ,通过分布图、各项统计指标可以快速直观地发现变量的分布差异
安装包
pip install sweetviz
pip install sweetviz -i https://pypi.tuna.tsinghua.edu.cn/simpl
github地址
https://github.com/fbdesignpro/sweetviz
代码演示
本文是用房价预测数据集来演示sweetviz的数据eda功能
import numpy as np
import pandas as pd
df=pd.read_csv('D:/文档/部分数据/最简数据挖掘/KingCountry房价预测数据/KingCountry鎴夸环棰勬祴鏁版嵁/train.csv')
print(df.shape)
df.head()
1、快速生成数据分析报告
仅需两行代码即可生成报告并以html文件方式输出如下,包括各字段常规数据统计指标(最大最小平均、分位数、偏度峰度等)、缺失值、分布图等等
import sweetviz as sv
my_report = sv.analyze(df)
my_report.show_html() # Default arguments will generate to "SWEETVIZ_REPORT.html"
将鼠标放在其中一栏、右侧会有对应的详细数据分析
点击报告上方ASSOCIATIONS按钮,可以展示相关系数矩阵图
2、添加目标变量的分析报告
在analyze函数中添加target_feat参数(这里写的是房价),在生成报告时目标变量栏为黑色,各变量分布图会增加y变量分布
import sweetviz as sv
my_report = sv.analyze(df,target_feat='price',pairwise_analysis='on')
my_report.show_html() # Default arguments will generate to "SWEETVIZ_REPORT.html"
3、不同数据集对比分析
对于train、test(或train、oot)数据集对比分析也极其便利,使用compare函数快速对各变量分布/缺失等等情况进行对比分析,分布图也可以直观看到两个数据集的分布差异
my_report = sv.compare([df.head(5000), "Training Data"], [df.tail(5000), "Test Data"], "price")
my_report.show_html()
4、在notebook中显示
my_report.show_notebook()
------------------------------------------------------
调试通过的一段代码例子
import arrow
import pytest
import sweetviz as sv
class Test_New_Functions():
def test_generate_html_report(self):
df = pd.read_csv('D:/sli_downloads/1.csv')
print(df.shape)
df.head()
my_report = sv.analyze(df)
# my_report = sv.analyze(df, target_feat='left', pairwise_analysis='on')
my_report.show_html()
print("between show_html and notebook")
my_report.show_notebook()
if __name__ == '__main__':标签:EDA,show,python,sweetviz,df,html,report,my From: https://www.cnblogs.com/Raul2018/p/18105557
pytest.main(['-vs', 'test_new_functions.py'])