Sweetviz:讓你只需三行代碼實現Python探索性數據分析

Python學習與數據挖掘 2021-10-29 12:57:25
sweetviz 只需 三行 python 探索性

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://pythonmana.com/2021/10/20211029125554776m.html

  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