0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Sweetviz: 让你三行代码实现探索性数据分析

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-10-31 10:28 次阅读

Sweetviz是一个开源Python库,它只需三行代码就可以生成漂亮的高精度可视化效果来启动EDA(探索性数据分析)。输出一个HTML。

它不仅能根据性别、年龄等不同栏目纵向分析数据,还能对每个栏目做众数、最大值、最小值等横向对比。

所有输入的数值、文本信息都会被自动检测,并进行数据分析、可视化和对比,最后自动帮你进行总结,是一个探索性数据分析的好帮手。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

**(可选1) **如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

**(可选2) **此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖

  1. Windows 环境 打开 Cmd (开始-运行-CMD)。
  2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
  3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install sweetviz

2.sweetviz 基本用法

sweetviz 使用的原理是,使用一行代码,生成一个数据报告的对象(其中,my_dataframe是pandas中的DataFrame,一种表格型数据结构):

import pandas as pd
import sweetviz as sv

# 读取数据
my_dataframe = pd.read_csv('../ImpartData/iris.csv')
# 分析数据
my_report = sv.analyze(my_dataframe)
# 生成报告
my_report.show_html()

执行完成后,会在当前文件夹下生成一个HTML的报告文件
)

双击这个html,你就能看到精美的分析报告了:

图片

其中,分析数据有三种函数可以用,除了上面提到的analyze函数,还有 compare 和 compare_intra 函数。

首先是analyze函数:

analyze(source: Union[pd.DataFrame, Tuple[pd.DataFrame, str]],
            target_feat: str = None,
            feat_cfg: FeatureConfig = None,
            pairwise_analysis: str = 'auto')

可见其有以下4个参数可以配置:

  • source: 以pandas中的DataFrame数据结构作为分析对象。
  • target_feat: 需要被标记为目标对象的字符串。
  • feat_cfg: 需要被跳过、或是需要被强制转换为某种数据类型的特征。
  • pairwise_analysis: 相关性分析可能需要花费较长时间。如果超过了你的忍受范围,就需要设置这个参数为on或者off,以判断是否需要分析数据相关性。

compare()丨两个数据集比较

my_report = sv.compare([my_dataframe, "Training Data"], [test_df, "Test Data"], "Survived", feature_config)

要比较两个数据集,只需使用该 ** compare() ** 函数。它的参数与 ** analyze()相同,只是插入了第二个参数来覆盖比较数据帧。建议使用 [dataframe, "name"] 参数格式以更好地区分基础数据帧和比较数据帧。(例如 ** [my_df, "Train"] ** 比my_df ** 更好)

compare_intra()丨数据集栏目比较

my_report = sv.compare_intra(my_dataframe, my_dataframe["Sex"] == "male", ["Male", "Female"], feature_config)

想要对数据集中某个栏目下的参数进行分析,就采用这个函数进行。
例如,如果需要比较“性别”栏目下的“男性”和“女性”,就可以采用这个函数。

3.调整报告布局

一旦你创建了你的报告对象,只需将它传递给两个show函数中的一个:

1 . show_html() :

show_html( filepath='SWEETVIZ_REPORT.html',
            open_browser=True,
            layout='widescreen',
            scale=None)

show_html(...) 将在当前文件路径中创建并保存 HTML 报告。有以下参数:

  • **layout ** ( 布局 ):无论是 ' widescreen '或 'vertical'。当鼠标移过每个功能时,宽屏布局会在屏幕右侧显示详细信息。新的(从 2.0 开始)垂直布局在水平方向上更加紧凑,并且可以在单击时扩展每个细节区域。
  • scale :使用浮点数(scale=0.8或 None )来缩放整个报告。
  • open_browser :启用 Web 浏览器的自动打开以显示报告。如果不需要,可以在此处禁用它。

2.show_notebook():

show_notebook( w=None,
                h=None,
                scale=None,
                layout='widescreen',
                filepath=None)

它将嵌入一个 IFRAME 元素,在notebook中显示报告(例如 Jupyter、Google Colab 等)。

请注意,由于Notebook通常是一个更受限制的环境,因此使用自定义宽度/高度/比例值 ( **w ** , h ** , ** scale ) 可能是个好主意。选项是:

  • w (宽度):设置报告输出窗口的宽度。可以是百分比字符串 ( w="100%") 或像素 (w=900)。
  • h (高度):设置报告输出窗口的高度。可以是像素数 (h=700) 或将窗口拉伸到与所有特征 ( h="full")一样高。
  • scale :与上面的 show_html 相同。
  • layout :与上面的 show_html 相同。
  • scale :与上面的 show_html 相同。
  • filepath :可选的输出 HTML 报告。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3440

    浏览量

    87144
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66767
  • 数据分析
    +关注

    关注

    2

    文章

    1352

    浏览量

    33735
收藏 人收藏

    评论

    相关推荐

    数据分析需要的技能

    探索以及预测都需要用到统计学,因此,具有扎实的统计学理论知识储备也是必不可少的!分析历史、预测未来、优化选择是大数据工程师在“玩数据”时的
    发表于 04-10 15:59

    怎么有效学习Python数据分析

    Python在人工智能、机器学习领域受到火热追捧,很大程度上在于它拥有非常庞大的第方库,以及强大的通用编程性能。因此,快速掌握Python进行数据分析,就是学习Python各种第方库、工具包
    发表于 06-28 15:18

    什么是探索性测试ET

    探索性测试ET(exploratory)是和ST(script based test)相比较而言的.笼统地说,ST就是有确定的步骤和预期目标的测试.探索性测试可以说是一种测试思维。它没有很多实际
    发表于 07-05 06:38

    请问这三行代码是固定这样写的吗?

    u8 IPRADDR=NVIC_Channel/4;//每组只能存4个,得到组地址 u8 IPROFFSET=NVIC_Channel%4;//在组内的偏移 IPROFFSET=IPROFFSET*8+4; //得到偏移的确切位置这三行代码是固定这样写的吗???????
    发表于 10-24 21:34

    数据分析与挖掘实战》总结及代码---chap3数据探索

    数据分析与挖掘实战》总结及代码练习---chap3 数据探索
    发表于 05-25 13:25

    数据探索数据预处理

    目录1数据探索数据预处理21.1 赛题回顾21.2 数据探索性分析与异常值处理21.3 相关性
    发表于 07-12 08:37

    三行搞定独立按键

    最近自己在做单片机的东西,准备参加比赛,偶然发现了独立按键的神助攻——三行搞定独立按键,看到网上很多描述的不清晰,自己又花时间整理了一下,话不多说先上代码:void Key_Read(void
    发表于 12-07 11:05

    什么是三行按键?有什么用

    三行按键从出生到现在已经很多个年头了,经过几代优化,现在有两个版本,今天分析一下,也在本论坛扩充一下资源。我在本论坛搜索三行按键,并没有相关的帖子。首先说明一下什么是三行按键,有什么用
    发表于 03-02 06:16

    电商数据分析攻略,轻松搞定数据分析

    商核心业务分析主题的分析模型、BI电商数据分析报表。从电商多业务系统数据整合、清洗、电商分析指标计算、筛选、
    发表于 06-27 09:22

    探索性数据分析(EDA)及其应用

    所谓探索性数据分析(EDA),是指对已有的数据(特别是调查或观察得来的原始数据)在尽量少的先验假定下进行探索,通过作图、制表、方程拟合、计算
    发表于 01-24 10:02 1366次阅读
    <b class='flag-5'>探索性</b><b class='flag-5'>数据分析</b>(EDA)及其应用

    设计多网络协议的Python网络编程的探索性指南

    很高兴看到本书出版了,我要感谢所有为本书的出版做出贡献的人。本书是Python网络编程方面的探索性指南,涉及了很多网络协议
    发表于 09-14 10:47 5次下载

    如何使用TensorFlow.js实现SNE可视化?

    近年来,t 分布随机邻域嵌入 (tSNE) 算法已成为高维数据探索性数据分析中最常用和最具洞察力的技术之一。
    的头像 发表于 07-25 10:28 5439次阅读

    如何看懂R中的探索性数据分析(附R代码

    本文将通过介绍一个代码模板的四个基本步骤,来帮助您完成数据分析的初期探索
    的头像 发表于 11-25 10:52 3342次阅读
    如何看懂R中的<b class='flag-5'>探索性</b><b class='flag-5'>数据分析</b>(附R<b class='flag-5'>代码</b>)

    细分模型探索性数据分析和预处理

    交流学习!文章较长,建议收藏~ 客户细分模型是将整体会员划分为不同的细分群体或类别,然后基于细分群体做管理、营销和关怀。客户细分模型常用于整体会员的宏观性分析以及探索性分析,通过细分建立初步认知,为下一步的
    的头像 发表于 11-08 16:05 1315次阅读
    细分模型<b class='flag-5'>探索性</b><b class='flag-5'>数据分析</b>和预处理

    Sweetviz让你三行代码实现探索性数据分析

    Sweetviz是一个开源Python库,它只需三行代码就可以生成漂亮的高精度可视化效果来启动EDA(探索性数据分析)。输出一个HTML。
    的头像 发表于 10-17 10:59 236次阅读
    <b class='flag-5'>Sweetviz</b>让你<b class='flag-5'>三行</b><b class='flag-5'>代码</b><b class='flag-5'>实现</b><b class='flag-5'>探索性</b><b class='flag-5'>数据分析</b>