Python Sweetviz轻松实现探索性数据分析

Sweetviz 是一个开源 Python 库,它只需三行代码就可以生成漂亮的高精度可视化效果来启动EDA(探索性数据分析)。输出一个HTML。文末提供技术交流群,喜欢点赞支持,收藏。

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

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

1.准备

请选择以下任一种方式输入命令安装依赖:
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 报告。

我们的文章到此就结束啦,如果你喜欢今天文章,点赞、支持、关注。

到此这篇关于Python Sweetviz轻松实现探索性数据分析的文章就介绍到这了,更多相关Python Sweetviz内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 简单且有用的Python数据分析和机器学习代码

    为什么选择Python进行数据分析? Python是一门动态的.面向对象的脚本语言,同时也是一门简约,通俗易懂的编程语言.Python入门简单,代码可读性强,一段好的Python代码,阅读起来像是在读一篇外语文章.Python这种特性称为"伪代码",它可以使你只关心完成什么样的工作任务,而不是纠结于Python的语法. 另外,Python是开源的,它拥有非常多优秀的库,可以用于数据分析及其他领域.更重要的是,Python与最受欢迎的开源大数据平台Hadoop具有很好的兼容性.因此,学习

  • Python数据分析之绘图和可视化详解

    一.前言 matplotlib是一个用于创建出版质量图表的桌面绘图包(主要是2D方面).该项目是由John Hunter于2002年启动的,其目的是为Python构建一个MATLAB式的绘图接口.matplotlib和IPython社区进行合作,简化了从IPython shell(包括现在的Jupyter notebook)进行交互式绘图.matplotlib支持各种操作系统上许多不同的GUI后端,而且还能将图片导出为各种常见的矢量(vector)和光栅(raster)图:PDF.SVG.JPG

  • python数据分析必会的Pandas技巧汇总

    目录 一.Pandas两大数据结构的创建 二.DataFrame常见方法 三.数据索引 四.DataFrame选取和重新组合数据的方法 五.排序 六.相关分析和统计分析 七.分组的方法 八.读写文本格式数据的方法 九.处理缺失数据 十.数据转换 一.Pandas两大数据结构的创建 序号 方法 说明 1 pd.Series(对象,index=[ ]) 创建Series.对象可以是列表\ndarray.字典以及DataFrame中的某一行或某一列 2 pd.DataFrame(data,column

  • python数据分析之DataFrame内存优化

    目录 1. pandas查看数据占用大小 2. 对数据进行压缩 3. 参考资料

  • 利用python数据分析处理进行炒股实战行情

    作为一个新手,你需要以下3个步骤: 1.用户注册 > 2.获取token > 3.调取数据 数据内容: 包含股票.基金.期货.债券.外汇.行业大数据, 同时包括了数字货币行情等区块链数据的全数据品类的金融大数据平台, 为各类金融投资和研究人员提供适用的数据和工具. 1.数据采集 我们进行本地化计算,首先要做的,就是将所需的基础数据采集到本地数据库里 本篇的示例源码采用的数据库是MySQL5.5,数据源是xxx pro接口. 我们现在要取一批特定股票的日线行情 部分代码如下: # 设置xxxxx

  • 手把手带你了解Python数据分析--matplotlib

    目录 柱形图 条形图 折线图 饼图和圆环图 分离饼图块 圆环图 总结 柱形图 bar()函数绘制柱形图 import matplotlib.pyplot as pl x = [1,2,3,4,5,6,7] y = [15,69,85,12,36,95,11] pl.bar(x,y) pl.show() bar()函数的参数width和color设置每根柱子的宽度和颜色 有中文时要添加 pl.rcParams['font.sans-serif'] = ['FangSong'] 有负号时要添加 pl

  • Python数据分析JupyterNotebook3魔法命令详解及示例

    目录 1.魔法命令介绍 %lsmagic:列出所有magics命令 %quickref:输出所有魔法指令的简单版帮助文档 %Magics_Name?:输出某个魔法命令详细帮助文档 2.Line magics:Line魔法指令 3.Cell magics:Cell魔法指令 写bash程序 写perl程序 1.魔法命令介绍 %lsmagic:列出所有magics命令 Available line magics:[对当前行使用共计93个] %alias %alias_magic %autoawait

  • Python 数据分析之Beautiful Soup 提取页面信息

    概述 数据分析 (Data Analyze) 可以在工作中的各个方面帮助我们. 本专栏为量化交易专栏下的子专栏, 主要讲解一些数据分析的基础知识. Beautiful Soup Beautiful 是一个可以从 HTML 或 XML 文件中提取数据的 Pyhton 库. 简单来说, 它能将 HTML 的标签文件解析成树形结构, 然后方便的获取到指定标签的对应属性. 安装: pip install beautifulsoup4 例子: from bs4 import BeautifulSoup #

  • Python Sweetviz轻松实现探索性数据分析

    Sweetviz 是一个开源 Python 库,它只需三行代码就可以生成漂亮的高精度可视化效果来启动EDA(探索性数据分析).输出一个HTML.文末提供技术交流群,喜欢点赞支持,收藏. 如上图所示,它不仅能根据性别.年龄等不同栏目纵向分析数据,还能对每个栏目做众数.最大值.最小值等横向对比. 所有输入的数值.文本信息都会被自动检测,并进行数据分析.可视化和对比,最后自动帮你进行总结,是一个探索性数据分析的好帮手. 1.准备 请选择以下任一种方式输入命令安装依赖: 1. Windows 环境 打开

  • Python 更快进行探索性数据分析的四个方法

    大家好,常用探索性数据分析方法很多,比如常用的 Pandas DataFrame 方法有 .head()..tail()..info()..describe()..plot() 和 .value_counts(). import pandas as pd import numpy as np df = pd.DataFrame( { "Student" : ["Mike", "Jack", "Diana", "Cha

  • 利用Python自制网页并实现一键自动生成探索性数据分析报告

    目录 前言 上传文件以及变量的筛选 前言 今天小编带领大家用Python自制一个自动生成探索性数据分析报告这样的一个工具,大家只需要在浏览器中输入url便可以轻松的访问,如下所示: 第一步 首先我们导入所要用到的模块,设置网页的标题.工具栏以及logo的导入,代码如下: from st_aggrid import AgGrid import streamlit as st import pandas as pd import pandas_profiling from streamlit_pan

  • Python 数据分析教程探索性数据分析

    目录 什么是探索性数据分析(EDA)? 描述性统计 分组数据 方差分析 相关性和相关性计算 什么是探索性数据分析(EDA)? EDA 是数据分析下的一种现象,用于更好地理解数据方面,例如: – 数据的主要特征 – 变量和它们之间的关系 – 确定哪些变量对我们的问题很重要 我们将研究各种探索性数据分析方法, 例如:  描述性统计,这是一种简要概述我们正在处理的数据集的方法,包括样本的一些度量和特征 分组数据 [使用group by 进行基本分组] ANOVA,方差分析,这是一种计算方法,可将观察集

  • Python中的探索性数据分析(功能式)

    这里有一些技巧来处理日志文件提取.假设我们正在查看一些Enterprise Splunk提取.我们可以用Splunk来探索数据.或者我们可以得到一个简单的提取并在Python中摆弄这些数据. 在Python中运行不同的实验似乎比试图在Splunk中进行这种探索性的操作更有效.主要是因为我们可以无所限制地对数据做任何事.我们可以在一个地方创建非常复杂的统计模型. 理论上,我们可以在Splunk中做很多的探索.它有各种报告和分析功能. 但是... 使用Splunk需要假设我们知道我们正在寻找什么.在

  • 基于Python实现的微信好友数据分析

    最近微信迎来了一次重要的更新,允许用户对"发现"页面进行定制.不知道从什么时候开始,微信朋友圈变得越来越复杂,当越来越多的人选择"仅展示最近三天的朋友圈",大概连微信官方都是一脸的无可奈何.逐步泛化的好友关系,让微信从熟人社交逐渐过渡到陌生人社交,而朋友圈里亦真亦幻的状态更新,仿佛在努力证明每一个个体的"有趣". 有人选择在朋友圈里记录生活的点滴,有人选择在朋友圈里展示观点的异同,可归根到底,人们无时无刻不在窥探着别人的生活,唯独怕别人过多地了解

  • 使用Python对微信好友进行数据分析

    1.准备工作 1.1 库介绍 只有登录微信才能获取到微信好友的信息,本文采用wxpy该第三方库进行微信的登录以及信息的获取. wxpy 在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展. wxpy一些常见的场景: •控制路由器.智能家居等具有开放接口的玩意儿 •运行脚本时自动把日志发送到你的微信 •加群主为好友,自动拉进群中 •跨号或跨群转发消息 •自动陪人聊天 •逗人玩 总而言之,可用来实现各种微信个人号的自动化操作. 1.2 wxpy库安装 wxpy 支持

  • Python实现的微信好友数据分析功能示例

    本文实例讲述了Python实现的微信好友数据分析功能.分享给大家供大家参考,具体如下: 这里主要利用python对个人微信好友进行分析并把结果输出到一个html文档当中,主要用到的python包为itchat,pandas,pyecharts等 1.安装itchat 微信的python sdk,用来获取个人好友关系.获取的代码 如下: import itchat import pandas as pd from pyecharts import Geo, Bar itchat.login() f

  • Python实现的北京积分落户数据分析示例

    本文实例讲述了Python实现的北京积分落户数据分析.分享给大家供大家参考,具体如下: 北京积分落户状况 获取数据(爬虫/文件下载)-> 分析 (维度-指标) 从公司维度分析不同公司对落户人数指标的影响 , 即什么公司落户人数最多也更容易落户 从年龄维度分析不同年龄段对落户人数指标影响 , 即什么年龄段落户人数最多也更容易落户 从百家姓维度分析不同姓对落户人数的指标影响 , 即什么姓的落户人数最多即也更容易落户 不同分数段的占比情况 # 导入库 import numpy as np import

  • 用Python 爬取猫眼电影数据分析《无名之辈》

    前言 作者: 罗昭成 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef 获取猫眼接口数据 作为一个长期宅在家的程序员,对各种抓包简直是信手拈来.在 Chrome 中查看原代码的模式,可以很清晰地看到接口,接口地址即为:http://m.maoyan.com/mmdb/comments/movie/1208282.json?_v_=yes&o

随机推荐