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

Python学习与数据挖掘 2021-10-29 12:56:23
代码 实现 只需 三行 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 报告。

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


技术交流

欢迎转载、收藏、有所收获点赞支持一下!

在这里插入图片描述

目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

长按关注

版权声明
本文为[Python学习与数据挖掘]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_38037405/article/details/121024725

  1. Python crawler selenium framework. You can start with these five questions | Python skill tree
  2. It is said that Python is omnipotent. It's really good to see Liyang photography circle with Python this time
  3. 【Python 爬虫】 4、爬虫基本原理
  4. 【Python 爬蟲】 4、爬蟲基本原理
  5. 【 Python crawler】 4. Principes de base du crawler
  6. 这道python题到底应该要怎么做
  7. Que doit faire exactement ce problème Python
  8. Après l'importation des variables du module Python, les valeurs imprimées sont fixes.
  9. Nouveau singe Muzi Lee: 0 cours de formation Python de base types de hachage pour les opérations Python redis
  10. Looking at problems from a fresh perspective: analyzing selenium principle from the perspective of Python
  11. Insérez le format de date dans la base de données MySQL en python et ne l'exécutez pas.
  12. Try Python 3.10 with CONDA
  13. Répondez en python et demandez à quelqu'un de vous aider.
  14. Un simple problème de travail Python, qui ne fonctionne pas
  15. Problèmes d'écriture Python pour la boucle
  16. Comment Python exécute les commandes du programme à plusieurs reprises au lieu de quitter
  17. YYDS! Dexplot: one line of Python code to easily draw statistical charts!
  18. pandas生成的透视表如何和源数据一起保存
  19. pandas生成的透視錶如何和源數據一起保存
  20. Comment sauvegarder le tableau pivot généré par pandas avec les données sources
  21. 10 fois plus efficace avec cache dans le développement de Django
  22. 求Python *.svg文件操作方法
  23. 求Python *.svg文件操作方法
  24. Trouver la méthode de fonctionnement du fichier Python *.Svg
  25. 【 python】 Internal Guide for Unit Test Practice
  26. 用Python编程佩尔数列pell数列循环结构
  27. 【 python】 échafaudage fastapi: spécification du développement du projet d'interface arrière fastapi
  28. [Python] restful Specification Practice Based on fastapi
  29. Python代码阅读(第26篇):将列表映射成字典
  30. How to use Python to make a screen color extractor with Exe file
  31. Lecture du Code Python (article 26): cartographie des listes dans les dictionnaires
  32. Python代码阅读(第26篇):将列表映射成字典
  33. Python代碼閱讀(第26篇):將列錶映射成字典
  34. Lecture du Code Python (article 26): cartographie des listes dans les dictionnaires
  35. 使用 Python 进行数据可视化之Seaborn
  36. Real time access to stock data, free—— Python crawler Sina stock actual combat
  37. Seaborn pour la visualisation des données en python
  38. 浅识XPath(熟练掌握XPath的语法)【python爬虫入门进阶】(03)
  39. Python中if else语句进行操作的时候哪里除了错,搞不懂
  40. Python题,我刚学,还不会
  41. Python題,我剛學,還不會
  42. Je viens d'apprendre, pas encore.
  43. 云计算开发:Python3-find()方法详解
  44. Real time access to stock data, free—— Python crawler Sina stock actual combat
  45. Développement de l'informatique en nuage: détails de la méthode Python 3 - find ()
  46. 如何使用Python进行超参调参和调优
  47. 如何使用Python進行超參調參和調優
  48. Comment utiliser Python pour le réglage hyperparamétrique
  49. Première connaissance du module urllib Python
  50. Python入门:看了这篇文章如果1个小时没法入门Python,那么还是换个语言吧!!
  51. Python(day1):Python 3 教程
  52. Python(day3):Python3 安装与环境搭建
  53. Python (day3): installation et environnement Python 3
  54. Python (day1): tutoriel Python 3
  55. Démarrer avec Python: Si vous ne pouvez pas commencer avec Python en une heure, changez de langue!!
  56. Pandas:DataFrame对象的基础操作
  57. 关于#python#的问题:月球上物体的体重在地球上的16.5%,编写程序输出未来10年在地球上和月球上的体重状况
  58. 反转一个3位整数(Python 实现)
  59. Questions sur # Python #: les objets lunaires pèsent 16,5% de la masse de la terre et un programme est programmé pour produire la masse de la terre et de la lune au cours des 10 prochaines années
  60. Use of Python pandas!!!!! Explain in detail