太贊了!這4款Pandas自動數(shù)據(jù)分析神器

我們做數(shù)據(jù)分析,在第一次拿到數(shù)據(jù)集的時候,一般會用統(tǒng)計學或可視化方法來了解原始數(shù)據(jù)。

了解列數(shù)、行數(shù)、取值分布、缺失值、列之間的相關關系等等,這個過程叫做EDA(Exploratory Data Analysis,探索性數(shù)據(jù)分析)。

如果你現(xiàn)在做EDA還在用pandas一行行寫代碼,那么福音來了!

目前已經(jīng)有很多EDA工具可以自動產(chǎn)出基礎的統(tǒng)計數(shù)據(jù)和圖表,能為我們節(jié)省大量時間。

本文會對比介紹 4 款常用的EDA工具,最后一款絕了,完全是拋棄代碼的節(jié)奏。

正式介紹這些工具之前,先來加載數(shù)據(jù)集

importnumpyasnp

importpandasaspd

iris?=?pd.read_csv('iris.csv')

iris

iris是下面用到的數(shù)據(jù)集,是一個150行 * 4列的 DataFrame。

1. PandasGUI

PandasGUI提供數(shù)據(jù)預覽、篩選、統(tǒng)計、多種圖表展示以及數(shù)據(jù)轉換。

#?安裝

#?pip?install?pandasgui

frompandasguiimportshow

show(iris)

PandasGUI操作界面

PandasGUI更側重數(shù)據(jù)展示,提供了10多種圖表,通過可視的方式配置。

但數(shù)據(jù)統(tǒng)計做的比較簡單,沒有提供缺失值、相關系數(shù)等指標,數(shù)據(jù)轉換部分也只開放了一小部分接口。

2. Pandas Profiling

Pandas Profiling提供了整體數(shù)據(jù)概況、每列的詳情、列之間的關圖、列之間的相關系數(shù)。

#?安裝:

#?pip?install?-U?pandas-profiling

#?jupyter?nbextension?enable?--py?widgetsnbextension

frompandas_profilingimportProfileReport

profile?=?ProfileReport(iris,?title='iris?Pandas?Profiling?Report',?explorative=True)

profile

Pandas Profiling操作界面

每列的詳情包括:缺失值統(tǒng)計、去重計數(shù)、最值、平均值等統(tǒng)計指標和取值分布的柱狀圖。

列之間的相關系數(shù)支持Spearman、Pearson、Kendall 和 Phik 4 種相關系數(shù)算法。

與PandasGUI相反,Pandas Profiling沒有豐富的圖表,但提供了非常多的統(tǒng)計指標以及相關系數(shù)。

3. Sweetviz

Sweetviz與Pandas Profiling類似,提供了每列詳細的統(tǒng)計指標、取值分布、缺失值統(tǒng)計以及列之間的相關系數(shù)。

#?安裝

#?pip?install?sweetviz

importsweetvizassv

sv_report?=?sv.analyze(iris)

sv_report.show_html()

Sweetviz操作界面

Sweetviz還有有一個非常好的特性是支持不同數(shù)據(jù)集的對比,如:訓練數(shù)據(jù)集和測試數(shù)據(jù)集的對比。

Sweetviz數(shù)據(jù)集對比

藍色和橙色代表不同的數(shù)據(jù)集,通過對比可以清晰發(fā)現(xiàn)數(shù)據(jù)集之前的差異。

4. dtale

最后重磅介紹dtale,它不僅提供豐富圖表展示數(shù)據(jù),還提供了很多交互式的接口,對數(shù)據(jù)進行操作、轉換。

dtale操作界面

dtale的功能主要分為三部分:數(shù)據(jù)操作、數(shù)據(jù)可視化高亮顯示。

4.1 數(shù)據(jù)操作(Actions)

dtale將pandas的函數(shù)包裝成可視化接口,可以讓我們通過圖形界面方式來操作數(shù)據(jù)。

#?pip?install?dtale

importdtale

d?=?dtale.show(iris)

d.open_browser()

Actions

右半部分圖是左邊圖的中文翻譯,用的是 Chrome 自動翻譯,有些不是很準確。

舉一個數(shù)據(jù)操作的例子。

Summarize Data

上圖是Actions菜單中Summarize Data的功能,它提供了對數(shù)據(jù)集匯總操作的接口。

上圖我們選擇按照species列分組,計算sepal_width列的平均值,同時可以看到左下角dtale已經(jīng)自動為該操作生成了pandas代碼。

4.2 數(shù)據(jù)可視化(Visualize)

提供比較豐富的圖表,對每列數(shù)據(jù)概況、重復行、缺失值、相關系數(shù)進行統(tǒng)計和展示。

Visualize

舉一個數(shù)據(jù)可視化的例子。

Describe

上圖是Visualize菜單中Describe的功能,它可以統(tǒng)計每列的最值、均值、標準差等指標,并提供圖表展示。

右側的Code Export可以查看生成這些數(shù)據(jù)的代碼。

4.3 高亮顯示(Highlight)

對缺失值、異常值做高亮顯示,方便我們快速定位到異常的數(shù)據(jù)。

Highlight

上圖顯示了將sepal_width字段的異常值。

dtale非常強大,功能也非常多,大家可以多多探索、挖掘。

最后,簡單總結一下。如果探索的數(shù)據(jù)集側重數(shù)據(jù)展示,可以選PandasGUI;如果只是簡單了解基本統(tǒng)計指標,可以選擇Pandas Profiling和Sweetviz;如果需要做深度的數(shù)據(jù)探索,那就選擇dtale。

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

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

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