1行代碼,實現(xiàn)數(shù)據(jù)集可視化分析與比較 !
蕭簫 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
你是否也在朋友圈看過這樣的小廣告:

「你要悄悄學(xué)Python,然后驚艷所有人。」
現(xiàn)在,GitHub上一位博主告訴你:不用學(xué),用sweetviz就行。
這是一個基于Python編寫的數(shù)據(jù)分析軟件,只要掌握3種函數(shù)用法,一行Python代碼就能實現(xiàn)數(shù)據(jù)集可視化、分析與比較。
我們以Titanic數(shù)據(jù)集為例,輸入一行代碼:

一個1080p的清晰網(wǎng)頁界面就出現(xiàn)在了眼前。

不僅根據(jù)性別、年齡等不同欄目縱向分析數(shù)據(jù),每個欄目下還有眾數(shù)、最大值、最小值等橫向?qū)Ρ取?/p>
所有輸入的數(shù)值、文本信息都會被自動檢測,并進行數(shù)據(jù)分析、可視化和對比,最后幫你進行數(shù)據(jù)總結(jié)。
在這樣的數(shù)據(jù)分析下,結(jié)果一目了然。

△ Titanic數(shù)據(jù)集部分功能細節(jié)展示
這樣的效果,是基于3個主函數(shù)實現(xiàn)的。
3種函數(shù)用法
analyze()丨數(shù)據(jù)分析

數(shù)據(jù)分析函數(shù)中,有4個參數(shù)source,target_feat,feat_cfg和pairwise_analysis需要被設(shè)置。
source:以pandas中的DataFrame數(shù)據(jù)結(jié)構(gòu)、或是DataFrame中的某一類字符串作為分析對象。
target_feat:需要被標記為目標對象的字符串。
feat_cfg:需要被跳過、或是需要被強制轉(zhuǎn)換為某種數(shù)據(jù)類型的特征。
pairwise_analysis:相關(guān)性和其他類型的數(shù)據(jù)關(guān)聯(lián)可能需要花費較長時間。如果超過了某個閾值,就需要設(shè)置這個參數(shù)為on或者off,以判斷是否需要分析數(shù)據(jù)相關(guān)性。

△ 數(shù)據(jù)相關(guān)性分析效果,可能需要花費一定時間
compare()丨兩個數(shù)據(jù)集比較

如果想要對兩個數(shù)據(jù)集進行對比分析,就使用這個比較函數(shù)。
例子中的my_dataframe和test_df是兩個數(shù)據(jù)集,分別被命名為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。
除了這個被插入的數(shù)據(jù)集,剩余的參數(shù)與analyze中的一致。
compare_intra()丨數(shù)據(jù)集欄目比較

想要對數(shù)據(jù)集中某個欄目下的參數(shù)進行分析,就采用這個函數(shù)進行。
例如,如果需要比較“性別”欄目下的“男性”和“女性”,就可以采用這個函數(shù)。
理解這幾種函數(shù)的變量后,一行代碼就能實現(xiàn)Python數(shù)據(jù)分析。
使用指南
sweetviz支持Python 3.6+和Pandas0.25.3+環(huán)境,配置好環(huán)境后,使用萬能的pip下載安裝包:

但有一個條件需要注意:sweetviz需要用到基礎(chǔ)「os」模塊。所以,如果你在使用類似于Google Colab的自定義環(huán)境,可能會無法使用sweetviz,目前開發(fā)者也在探索解決方案。
下載好后,使用import快速導(dǎo)入sweetviz,就可以開始使用了~

sweetviz使用的原理是,使用一行代碼,生成一個數(shù)據(jù)報告的對象(其中,my_dataframe是pandas中的DataFrame,一種表格型數(shù)據(jù)結(jié)構(gòu)):

在這里,analyze函數(shù)可以被替換為compare或compare_intra函數(shù),使用方法在上面已經(jīng)給出,全看你需要什么類型的數(shù)據(jù)報告了。
最后,用show一鍵輸出。(結(jié)果會以SWEETVIZ_REPORT.html網(wǎng)頁形式展示)

由于在這個過程中,實際上真正需要編寫的只有第二行的生成對象代碼,可以說是名副其實的1行代碼生成數(shù)據(jù)分析。
展示界面也非常簡潔,只要鼠標停留在感興趣的欄目上,右側(cè)就會自動顯示出數(shù)據(jù)分析的圖表和報告。

感興趣的小伙伴,快戳下方的傳送門用起來吧~
傳送門:
https://github.com/fbdesignpro/sweetviz
——??e n d?————
由于微信平臺算法改版,公號內(nèi)容將不再以時間排序展示,如果大家想第一時間看到我們的推送,強烈建議星標我們和給我們多點點【在看】。星標具體步驟為:
(1)點擊頁面最上方“小詹學(xué)Python”,進入公眾號主頁。
(2)點擊右上角的小點點,在彈出頁面點擊“設(shè)為星標”,就可以啦。
感謝支持,比心。
