Sweetviz是一個(gè)開源Python庫(kù),它只需三行代碼就可以生成漂亮的高精度可視化效果來(lái)啟動(dòng)EDA(探索性數(shù)據(jù)分析)。輸出一個(gè)HTML。
它不僅能根據(jù)性別、年齡等不同欄目縱向分析數(shù)據(jù),還能對(duì)每個(gè)欄目做眾數(shù)、最大值、最小值等橫向?qū)Ρ取?/p>
所有輸入的數(shù)值、文本信息都會(huì)被自動(dòng)檢測(cè),并進(jìn)行數(shù)據(jù)分析、可視化和對(duì)比,最后自動(dòng)幫你進(jìn)行總結(jié),是一個(gè)探索性數(shù)據(jù)分析的好幫手。
1.準(zhǔn)備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問(wèn)這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。
**(可選1) **如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.
**(可選2) **此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南。
請(qǐng)選擇以下任一種方式輸入命令安裝依賴 :
- Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
- MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
- 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install sweetviz
2.sweetviz 基本用法
sweetviz 使用的原理是,使用一行代碼,生成一個(gè)數(shù)據(jù)報(bào)告的對(duì)象(其中,my_dataframe是pandas中的DataFrame,一種表格型數(shù)據(jù)結(jié)構(gòu)):
import pandas as pd
import sweetviz as sv
# 讀取數(shù)據(jù)
my_dataframe = pd.read_csv('../ImpartData/iris.csv')
# 分析數(shù)據(jù)
my_report = sv.analyze(my_dataframe)
# 生成報(bào)告
my_report.show_html()
執(zhí)行完成后,會(huì)在當(dāng)前文件夾下生成一個(gè)HTML的報(bào)告文件
)
雙擊這個(gè)html,你就能看到精美的分析報(bào)告了:
其中,分析數(shù)據(jù)有三種函數(shù)可以用,除了上面提到的analyze函數(shù),還有 compare 和 compare_intra 函數(shù)。
首先是analyze函數(shù):
analyze(source: Union[pd.DataFrame, Tuple[pd.DataFrame, str]],
target_feat: str = None,
feat_cfg: FeatureConfig = None,
pairwise_analysis: str = 'auto')
可見其有以下4個(gè)參數(shù)可以配置:
- source: 以pandas中的DataFrame數(shù)據(jù)結(jié)構(gòu)作為分析對(duì)象。
- target_feat: 需要被標(biāo)記為目標(biāo)對(duì)象的字符串。
- feat_cfg: 需要被跳過(guò)、或是需要被強(qiáng)制轉(zhuǎn)換為某種數(shù)據(jù)類型的特征。
- pairwise_analysis: 相關(guān)性分析可能需要花費(fèi)較長(zhǎng)時(shí)間。如果超過(guò)了你的忍受范圍,就需要設(shè)置這個(gè)參數(shù)為on或者off,以判斷是否需要分析數(shù)據(jù)相關(guān)性。
compare()丨兩個(gè)數(shù)據(jù)集比較
my_report = sv.compare([my_dataframe, "Training Data"], [test_df, "Test Data"], "Survived", feature_config)
要比較兩個(gè)數(shù)據(jù)集,只需使用該 ** compare()
** 函數(shù)。它的參數(shù)與 ** analyze()
相同,只是插入了第二個(gè)參數(shù)來(lái)覆蓋比較數(shù)據(jù)幀。建議使用 [dataframe, "name"] 參數(shù)格式以更好地區(qū)分基礎(chǔ)數(shù)據(jù)幀和比較數(shù)據(jù)幀。(例如 ** [my_df, "Train"]
** 比my_df
** 更好)
compare_intra()丨數(shù)據(jù)集欄目比較
my_report = sv.compare_intra(my_dataframe, my_dataframe["Sex"] == "male", ["Male", "Female"], feature_config)
想要對(duì)數(shù)據(jù)集中某個(gè)欄目下的參數(shù)進(jìn)行分析,就采用這個(gè)函數(shù)進(jìn)行。
例如,如果需要比較“性別”欄目下的“男性”和“女性”,就可以采用這個(gè)函數(shù)。
3.調(diào)整報(bào)告布局
一旦你創(chuàng)建了你的報(bào)告對(duì)象,只需將它傳遞給兩個(gè)show函數(shù)中的一個(gè):
1 . show_html() :
show_html( filepath='SWEETVIZ_REPORT.html',
open_browser=True,
layout='widescreen',
scale=None)
show_html(...) 將在當(dāng)前文件路徑中創(chuàng)建并保存 HTML 報(bào)告。有以下參數(shù):
- **layout ** ( 布局 ):無(wú)論是 ' widescreen '或 'vertical'。當(dāng)鼠標(biāo)移過(guò)每個(gè)功能時(shí),寬屏布局會(huì)在屏幕右側(cè)顯示詳細(xì)信息。新的(從 2.0 開始)垂直布局在水平方向上更加緊湊,并且可以在單擊時(shí)擴(kuò)展每個(gè)細(xì)節(jié)區(qū)域。
- scale :使用浮點(diǎn)數(shù)(scale=0.8或 None )來(lái)縮放整個(gè)報(bào)告。
- open_browser :?jiǎn)⒂?Web 瀏覽器的自動(dòng)打開以顯示報(bào)告。如果不需要,可以在此處禁用它。
2.show_notebook():
show_notebook( w=None,
h=None,
scale=None,
layout='widescreen',
filepath=None)
它將嵌入一個(gè) IFRAME 元素,在notebook中顯示報(bào)告(例如 Jupyter、Google Colab 等)。
請(qǐng)注意,由于Notebook通常是一個(gè)更受限制的環(huán)境,因此使用自定義寬度/高度/比例值 ( **w
** , h
** , ** scale
) 可能是個(gè)好主意。選項(xiàng)是:
- w (寬度):設(shè)置報(bào)告輸出窗口的寬度。可以是百分比字符串 ( w="100%") 或像素 (w=900)。
- h (高度):設(shè)置報(bào)告輸出窗口的高度。可以是像素?cái)?shù) (h=700) 或?qū)⒋翱诶斓脚c所有特征 ( h="full")一樣高。
- scale :與上面的 show_html 相同。
- layout :與上面的 show_html 相同。
- scale :與上面的 show_html 相同。
- filepath :可選的輸出 HTML 報(bào)告。
-
WINDOWS
+關(guān)注
關(guān)注
4文章
3570瀏覽量
89307 -
代碼
+關(guān)注
關(guān)注
30文章
4827瀏覽量
69054 -
數(shù)據(jù)分析
+關(guān)注
關(guān)注
2文章
1461瀏覽量
34166
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
怎么有效學(xué)習(xí)Python數(shù)據(jù)分析?
什么是探索性測(cè)試ET
《數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》總結(jié)及代碼---chap3數(shù)據(jù)探索
數(shù)據(jù)探索與數(shù)據(jù)預(yù)處理
三行搞定獨(dú)立按鍵
什么是三行按鍵?有什么用
電商數(shù)據(jù)分析攻略,讓你輕松搞定數(shù)據(jù)分析!
探索性數(shù)據(jù)分析(EDA)及其應(yīng)用
![<b class='flag-5'>探索性</b><b class='flag-5'>數(shù)據(jù)分析</b>(EDA)及其應(yīng)用](https://file1.elecfans.com//web2/M00/A5/D7/wKgZomUMOl2AfAS6AAA2_TeRED0244.jpg)
設(shè)計(jì)多網(wǎng)絡(luò)協(xié)議的Python網(wǎng)絡(luò)編程的探索性指南
細(xì)分模型探索性數(shù)據(jù)分析和預(yù)處理
![細(xì)分模型<b class='flag-5'>探索性</b><b class='flag-5'>數(shù)據(jù)分析</b>和預(yù)處理](https://file.elecfans.com/web2/M00/1B/E5/pYYBAGGI3lqAG3PhAAAWZwS1YMI192.png)
Sweetviz讓你三行代碼實(shí)現(xiàn)探索性數(shù)據(jù)分析
![<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'>實(shí)現(xiàn)</b><b class='flag-5'>探索性</b><b class='flag-5'>數(shù)據(jù)分析</b>](https://file1.elecfans.com/web2/M00/AA/46/wKgZomUt-EqAAQKKAAOFzqufO18581.jpg)
來(lái)看看他們用代碼寫的“三行詩(shī)”
![來(lái)看看他們用<b class='flag-5'>代碼</b>寫的“<b class='flag-5'>三行</b>詩(shī)”](https://file1.elecfans.com//web2/M00/AC/09/wKgZomU4yw2AS2mvAALB5zkfCN8496.jpg)
評(píng)論