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

    文章

    3524

    浏览量

    88398
  • 代码
    +关注

    关注

    30

    文章

    4741

    浏览量

    68323
  • 数据分析
    +关注

    关注

    2

    文章

    1427

    浏览量

    34006
收藏 人收藏

    评论

    相关推荐

    怎么有效学习Python数据分析

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

    什么是探索性测试ET

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

    数据分析与挖掘实战》总结及代码---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 1499次阅读
    <b class='flag-5'>探索性</b><b class='flag-5'>数据分析</b>(EDA)及其应用

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

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

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

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

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

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

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

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

    来看看他们用代码写的“三行诗”

    往期精选 原文标题:来看看他们用代码写的“三行诗” 文章出处:【微信公众号:宏景智驾】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 10-25 15:55 353次阅读
    来看看他们用<b class='flag-5'>代码</b>写的“<b class='flag-5'>三行</b>诗”

    为什么选择eda进行数据分析

    数据科学领域,数据分析是一个复杂且多步骤的过程,它涉及到数据的收集、清洗、探索、建模和解释。在这些步骤中,探索性
    的头像 发表于 11-13 10:41 134次阅读

    eda与传统数据分析的区别

    EDA(Exploratory Data Analysis,探索性数据分析)与传统数据分析之间存在显著的差异。以下是两者的主要区别: 一、分析目的和方法论 EDA 目的 :EDA的主要
    的头像 发表于 11-13 10:52 194次阅读