溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用pandas_profiling完成探索性數(shù)據(jù)分析

發(fā)布時(shí)間:2021-11-09 18:36:26 來源:億速云 閱讀:492 作者:柒染 欄目:大數(shù)據(jù)

如何使用pandas_profiling完成探索性數(shù)據(jù)分析,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

    筆者最近發(fā)現(xiàn)一款將pandas數(shù)據(jù)框快速轉(zhuǎn)化為描述性數(shù)據(jù)分析報(bào)告的package——pandas_profiling。一行代碼即可生成內(nèi)容豐富的EDA內(nèi)容,兩行代碼即可將報(bào)告以.html格式保存。筆者當(dāng)初也是從數(shù)據(jù)分析做起的,所以深知這個(gè)工具對(duì)于數(shù)據(jù)分析的朋友而言極為方便,在此特地分享給大家。

     我們以u(píng)ci機(jī)器學(xué)習(xí)庫中的人口調(diào)查數(shù)據(jù)集adult.data為例進(jìn)行說明。

     數(shù)據(jù)集地址: 

https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

     常規(guī)情況下我們拿到數(shù)據(jù)做EDA的時(shí)候這幾種函數(shù)是必用的:

     看一下數(shù)據(jù)長(zhǎng)啥樣:

import numpy as npimport pandas as pdadult = pd.read_csv('../adult.data')adult.head()

如何使用pandas_profiling完成探索性數(shù)據(jù)分析

     對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)描述:

adult.describe()

如何使用pandas_profiling完成探索性數(shù)據(jù)分析

     查看變量信息和缺失情況:

adult.info()

如何使用pandas_profiling完成探索性數(shù)據(jù)分析

     這是最簡(jiǎn)單最快速了解一個(gè)數(shù)據(jù)集的方法。當(dāng)然,更深層次的EDA一定是要借助統(tǒng)計(jì)圖形來展示的?;趕cipy、matplotlib和seaborn等工具的展示這里權(quán)且略過。

     現(xiàn)在我們有了pandas_profiling。上述過程以及各種統(tǒng)計(jì)相關(guān)性計(jì)算、統(tǒng)計(jì)繪圖全部由pandas_profiling打包搞定了。pandas_profiling安裝,包括pip、conda和源碼三種安裝方式。

pip:

pip install pandas-profilingpip install https://github.com/pandas-profiling/pandas-profiling/archive/master.zip

conda:

conda install -c conda-forge pandas-profiling

source:

先下載源碼文件,然后解壓到setup.py所在的文件目錄下:

python setup.py install

     再來看pandas_profiling基本用法,用pandas將數(shù)據(jù)讀入之后,對(duì)數(shù)據(jù)框直接調(diào)用profile_report方法生成EDA分析報(bào)告,然后使用to_file方法另存為.html文件。

profile = df.profile_report(title="Census Dataset")profile.to_file(output_file=Path("./census_report.html"))

     看看報(bào)告效果如何。pandas-profiling EDA報(bào)告包括數(shù)據(jù)整體概覽、變量探索、相關(guān)性計(jì)算、缺失值情況和抽樣展示等5個(gè)方面。

數(shù)據(jù)整體概覽:

如何使用pandas_profiling完成探索性數(shù)據(jù)分析

變量探索:

如何使用pandas_profiling完成探索性數(shù)據(jù)分析

相關(guān)性計(jì)算:

如何使用pandas_profiling完成探索性數(shù)據(jù)分析

這里為大家提供5種相關(guān)性系數(shù)。

缺失值情況:

如何使用pandas_profiling完成探索性數(shù)據(jù)分析

pandas-profiling為我們提供了四種缺失值展現(xiàn)形式。

數(shù)據(jù)樣本展示:

如何使用pandas_profiling完成探索性數(shù)據(jù)分析

就是pandas里面的df.head()和df.tail()兩個(gè)函數(shù)。

上述示例參考代碼:

from pathlib import Pathimport pandas as pdimport numpy as npimport requestsimport pandas_profilingif __name__ == "__main__":    file_name = Path("census_train.csv")    if not file_name.exists():        data = requests.get(            "https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"        )        file_name.write_bytes(data.content)    # Names based on https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.names
   df = pd.read_csv(        file_name,        header=None,        index_col=False,        names=[            "age",            "workclass",            "fnlwgt",            "education",            "education-num",            "marital-status",            "occupation",            "relationship",            "race",            "sex",            "capital-gain",            "capital-loss",            "hours-per-week",            "native-country",        ],    )    # Prepare missing values    df = df.replace("\\?", np.nan, regex=True)    profile = df.profile_report(title="Census Dataset")    profile.to_file(output_file=Path("./census_report.html"))

     除此之外,pandas_profiling還提供了pycharm配置方法:

如何使用pandas_profiling完成探索性數(shù)據(jù)分析

     配置完成后在pycharm左邊項(xiàng)目欄目直接右鍵external_tool下的pandas_profiling即可直接生成EDA報(bào)告。更多內(nèi)容大家可以到該項(xiàng)目GitHub地址查看:

如何使用pandas_profiling完成探索性數(shù)據(jù)分析

關(guān)于如何使用pandas_profiling完成探索性數(shù)據(jù)分析問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI