?分享4款Python 自動(dòng)數(shù)據(jù)分析神器
前言:
我們做數(shù)據(jù)分析,在第一次拿到數(shù)據(jù)集的時(shí)候,一般會(huì)用統(tǒng)計(jì)學(xué)或可視化方法來了解原始數(shù)據(jù)。比如了解列數(shù)、行數(shù)、取值分布、缺失值、列之間的相關(guān)關(guān)系等等,這個(gè)過程我們叫做 EDA
(Exploratory Data Analysis,探索性數(shù)據(jù)分析)。
用pandas
一行行寫代碼,那太痛苦了!目前已經(jīng)有很多EDA工具可以自動(dòng)產(chǎn)出基礎(chǔ)的統(tǒng)計(jì)數(shù)據(jù)和圖表,能為我們節(jié)省大量時(shí)間。
在本文,我給大家分享 4 款常用的EDA工具,它們可以自動(dòng)產(chǎn)出統(tǒng)計(jì)數(shù)據(jù)和圖表,為我們節(jié)省大量時(shí)間。
正式介紹這些工具之前,先來加載數(shù)據(jù)集
import numpy as np import pandas as pd iris = pd.read_csv('iris.csv') iris
iris
是下面用到的數(shù)據(jù)集,是一個(gè)150行 * 4列的 DataFrame
。
1. PandasGUI
PandasGUI
提供數(shù)據(jù)預(yù)覽、篩選、統(tǒng)計(jì)、多種圖表展示以及數(shù)據(jù)轉(zhuǎn)換。
# 安裝 # pip install pandasgui from pandasgui import show show(iris)
PandasGUI操作界面
PandasGUI
更側(cè)重?cái)?shù)據(jù)展示,提供了10多種圖表,通過可視的方式配置。
但數(shù)據(jù)統(tǒng)計(jì)做的比較簡(jiǎn)單,沒有提供缺失值、相關(guān)系數(shù)等指標(biāo),數(shù)據(jù)轉(zhuǎn)換部分也只開放了一小部分接口。
2. Pandas Profiling
Pandas Profiling 提供了整體數(shù)據(jù)概況、每列的詳情、列之間的關(guān)圖、列之間的相關(guān)系數(shù)。
# 安裝: # pip install -U pandas-profiling # jupyter nbextension enable --py widgetsnbextension from pandas_profiling import ProfileReport profile = ProfileReport(iris, title='iris Pandas Profiling Report', explorative=True) profile
Pandas Profiling操作界面
每列的詳情包括:缺失值統(tǒng)計(jì)、去重計(jì)數(shù)、最值、平均值等統(tǒng)計(jì)指標(biāo)和取值分布的柱狀圖。
列之間的相關(guān)系數(shù)支持Spearman、Pearson、Kendall 和 Phik 4 種相關(guān)系數(shù)算法。
與 PandasGUI
相反,Pandas Profiling
沒有豐富的圖表,但提供了非常多的統(tǒng)計(jì)指標(biāo)以及相關(guān)系數(shù)。
3. Sweetviz
Sweetviz
與Pandas Profiling
類似,提供了每列詳細(xì)的統(tǒng)計(jì)指標(biāo)、取值分布、缺失值統(tǒng)計(jì)以及列之間的相關(guān)系數(shù)。
# 安裝 # pip install sweetviz import sweetviz as sv sv_report = sv.analyze(iris) sv_report.show_html()
Sweetviz操作界面
Sweetviz
還有有一個(gè)非常好的特性是支持不同數(shù)據(jù)集的對(duì)比,如:訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集的對(duì)比。
Sweetviz數(shù)據(jù)集對(duì)比
藍(lán)色和橙色代表不同的數(shù)據(jù)集,通過對(duì)比可以清晰發(fā)現(xiàn)數(shù)據(jù)集之前的差異。
4. dtale
最后重磅介紹dtale
,它不僅提供豐富圖表展示數(shù)據(jù),還提供了很多交互式的接口,對(duì)數(shù)據(jù)進(jìn)行操作、轉(zhuǎn)換。
dtale操作界面
dtale
的功能主要分為三部分:數(shù)據(jù)操作、數(shù)據(jù)可視化、高亮顯示。
4.1 數(shù)據(jù)操作(Actions)
dtale
將pandas
的函數(shù)包裝成可視化接口,可以讓我們通過圖形界面方式來操作數(shù)據(jù)。
# pip install dtale import dtale d = dtale.show(iris) d.open_browser()
Actions
右半部分圖是左邊圖的中文翻譯,用的是 Chrome 自動(dòng)翻譯,有些不是很準(zhǔn)確。
舉一個(gè)數(shù)據(jù)操作的例子:
Summarize Data
上圖是Actions
菜單中Summarize Data
的功能,它提供了對(duì)數(shù)據(jù)集匯總操作的接口。
上圖我們選擇按照species
列分組,計(jì)算sepal_width列的平均值,同時(shí)可以看到左下角dtale已經(jīng)自動(dòng)為該操作生成了pandas代碼。
4.2 數(shù)據(jù)可視化(Visualize)
提供比較豐富的圖表,對(duì)每列數(shù)據(jù)概況、重復(fù)行、缺失值、相關(guān)系數(shù)進(jìn)行統(tǒng)計(jì)和展示。
Visualize
舉一個(gè)數(shù)據(jù)可視化的例子:
Describe
上圖是Visualize
菜單中Describe
的功能,它可以統(tǒng)計(jì)每列的最值、均值、標(biāo)準(zhǔn)差等指標(biāo),并提供圖表展示。
右側(cè)的Code Export
可以查看生成這些數(shù)據(jù)的代碼。
4.3 高亮顯示(Highlight)
對(duì)缺失值、異常值做高亮顯示,方便我們快速定位到異常的數(shù)據(jù)。
Highlight
上圖顯示了將sepal_width
字段的異常值。
dtale
非常強(qiáng)大,功能也非常多,大家可以多多探索、挖掘。
最后,簡(jiǎn)單總結(jié)一下。如果探索的數(shù)據(jù)集側(cè)重?cái)?shù)據(jù)展示,可以選PandasGUI
;如果只是簡(jiǎn)單了解基本統(tǒng)計(jì)指標(biāo),可以選擇Pandas Profiling
和Sweetviz;如果需要做深度的數(shù)據(jù)探索,那就選擇dtale。
到此這篇關(guān)于 分享4款Python 自動(dòng)數(shù)據(jù)分析神器的文章就介紹到這了,更多相關(guān)Python 自動(dòng)數(shù)據(jù)分析神器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python深度學(xué)習(xí)之使用Pytorch搭建ShuffleNetv2
這篇文章主要介紹了Python深度學(xué)習(xí)之使用Pytorch搭建ShuffleNetv2,文中有非常詳細(xì)的圖文示例,對(duì)正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-05-05python逆向微信指數(shù)爬取實(shí)現(xiàn)步驟
這篇文章主要為大家介紹了python逆向微信指數(shù)爬取的實(shí)現(xiàn)步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-02-02解決py2exe打包后,總是多顯示一個(gè)DOS黑色窗口的問題
今天小編就為大家分享一篇解決py2exe打包后,總是多顯示一個(gè)DOS黑色窗口的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python程序打包exe報(bào)錯(cuò)的幾種解決方法
本文主要介紹了Python程序打包exe報(bào)錯(cuò)的幾種解決方法,文中通過幾種解決方法的介紹非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-08-08python無法引用另一個(gè)文件夾的py文件問題及解決
這篇文章主要介紹了python無法引用另一個(gè)文件夾的py文件問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Python使用CRC32實(shí)現(xiàn)校驗(yàn)文件
CRC文件校驗(yàn)是一種用于驗(yàn)證文件完整性的方法,通過計(jì)算文件的CRC值并與預(yù)先計(jì)算的CRC校驗(yàn)值進(jìn)行比較,來判斷文件是否發(fā)生變化,本文我們就來介紹一下Python如何利用CRC32實(shí)現(xiàn)校驗(yàn)文件吧2023-10-10Python定時(shí)發(fā)送天氣預(yù)報(bào)郵件代碼實(shí)例
這篇文章主要介紹了Python定時(shí)發(fā)送天氣預(yù)報(bào)郵件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09Pandas中字符串和時(shí)間轉(zhuǎn)換與格式化的實(shí)現(xiàn)
本文主要介紹了Pandas中字符串和時(shí)間轉(zhuǎn)換與格式化的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01將Emacs打造成強(qiáng)大的Python代碼編輯工具
這篇文章主要介紹了將Emacs打造成強(qiáng)大的Python代碼編輯工具的方法,人們常說Vim是編輯器之神而Emacs是神的編輯器:)需要的朋友可以參考下2015-11-11