適配 Pandas,兩行代碼實(shí)現(xiàn)數(shù)據(jù)初探

探索性數(shù)據(jù)分析,即 Exploratory Data Analysis,簡稱為 EDA,指拿到數(shù)據(jù)以后,快速了解數(shù)據(jù),對數(shù)據(jù)進(jìn)行基礎(chǔ)的統(tǒng)計(jì)分析,比如,分析數(shù)據(jù)類型、缺失值、數(shù)據(jù)分布狀態(tài)、相關(guān)性、繪制可視化圖等操作。

以前進(jìn)行 EDA 操作雖然不是特別麻煩,但也不是特別簡單,今天推薦的這個工具,配合 Pandas 只需要兩行代碼就可以實(shí)現(xiàn)超級全面的數(shù)據(jù)分析內(nèi)容,可謂是數(shù)據(jù)分析師的福音。

這個 Python 數(shù)據(jù)分析支持庫就是新近推出的 Sweetviz,Github 上的項(xiàng)目代碼庫為: https://github.com/fbdesignpro/sweetviz,該支持庫的作者叫 Francois Bertrand,用他的話說,Sweetviz 搭配 pandas 的 Dataframe,只需兩行代碼就可以快速生成 HTML 數(shù)據(jù)探索報(bào)告。

Francois 在 Github 上提供了 Sweetviz 的實(shí)例,該實(shí)例使用的是大家耳熟能詳?shù)奶┨鼓峥藬?shù)據(jù)集,生成的 HTML 報(bào)告他也放在網(wǎng)上了,大家可以進(jìn)去自己戳戳點(diǎn)點(diǎn),基本上就可以了解了,http://cooltiming.com/SWEETVIZ_REPORT.html

泰坦尼克數(shù)據(jù)集探索性分析用例

通過這個用例,可以看出 Sweetviz 的一些主要功能:

  • 目標(biāo)分析,比如泰坦尼克數(shù)據(jù)集中幸存者與其它要素之間的關(guān)系
  • 可視化,這個不多說了,上圖中就可以看到
  • 數(shù)據(jù)之間的相關(guān)性分析,比如皮爾森相關(guān)系數(shù)、不確定性系數(shù)、數(shù)據(jù)相關(guān)性等基礎(chǔ)相關(guān)性分析
  • 數(shù)據(jù)類型推斷,可以自動檢測數(shù)字、類別、文本特征
  • 生成數(shù)據(jù)集摘要信息,唯一值、缺失值、重復(fù)數(shù)據(jù)、出現(xiàn)頻率最高的值等
  • 基礎(chǔ)數(shù)據(jù)分析,如最大值、最小值、數(shù)據(jù)范圍、四分位數(shù)、均值、眾數(shù)、標(biāo)準(zhǔn)偏差、數(shù)據(jù)匯總、中位數(shù)絕對偏差、變異系數(shù)、數(shù)據(jù)峰度、數(shù)據(jù)偏度等
  • 支持 Jupyter Notebook
  • 支持報(bào)告縮放與垂直布局

安裝

  • 官方說的是支持 Python 3.6+ 和 Pandas 0.25.3+ ,呆鳥用的是 python 3.8.8 和 Pandas 1.2.3
  • pip install sweetviz

下載數(shù)據(jù)

  • 呆鳥已經(jīng)把數(shù)據(jù)給大家下載好了,回復(fù)文章底部注解里的口令,下載數(shù)據(jù)集
  • 打開 jupyter notebook 或 jupyter lab, 或其它 VSCode、Pycharm 等你喜歡的 IDE,呆鳥這里用的是 jupyter lab 3.0
  • 創(chuàng)建 sweetviz_test 文件夾,新建一個 jupyter notebook 文件,比如呆鳥這里叫 sweetviz.ipynb
  • test.csvtrain.csv 兩個文件復(fù)制到 sweetviz_test 中的 data 文件夾中(新建的)
  • 打開 sweetviz.ipynb,開始寫代碼,很簡單
import sweetviz
import pandas as pd

train = pd.read_csv("data/train.csv")
test = pd.read_csv("data/test.csv")

my_report = sweetviz.compare([train, "Train"], [test, "Test"], "Survived")
my_report.show_html("Report.html") 

完成了,此時在 sweetviz_test 文件夾中就生成了 Report.html 文件,就是上圖中的 sweetviz 數(shù)據(jù)報(bào)告,雙擊打開就可以查看了。

Sweetviz 還支持在 jupyter notebook 里內(nèi)置顯示報(bào)告,使用如下命令:

my_report.show_notebook(  w=None, 
                h=None, 
                scale=None,
                layout='widescreen',
                filepath=None) 
如圖

遇到的問題

在運(yùn)行 my_report = sweetviz.compare([train, "Train"], [test, "Test"], "Survived") 時顯示 ImportError: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html

此時安裝 ipywidgets 就可以了,安裝命令為 pip install ipywidgets

搞定收工,如果你喜歡這個 Python 快捷數(shù)據(jù)分析工具,就自己安裝下載數(shù)據(jù)試試吧。

關(guān)注呆鳥,關(guān)注 Python 大咖談,一起學(xué)習(xí) Python 和數(shù)據(jù)分析。

下載數(shù)據(jù)集的口令為 sweetviz_test,大家只要在 Python 大咖談后臺輸入這個口令就可以看到下載鏈接了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容