之前在做數(shù)據(jù)分析的時(shí)候,用過一個(gè)自動化生成數(shù)據(jù)探索報(bào)告的Python庫:ydata_profiling
一般我們在做數(shù)據(jù)處理前會進(jìn)行數(shù)據(jù)探索,包括看統(tǒng)計(jì)分布、可視化圖表、數(shù)據(jù)質(zhì)量情況等,這個(gè)過程會消耗很多時(shí)間,可能需要上百行代碼才能實(shí)現(xiàn)。
ydata_profiling能夠直接完成數(shù)據(jù)探索的工作,只需要幾行代碼,它會生成互動網(wǎng)頁形式的報(bào)告,里面包含數(shù)據(jù)概覽、字段分布、統(tǒng)計(jì)學(xué)特征、相關(guān)性、缺失值、樣本信息等。
# 導(dǎo)入庫
from ydata_profiling import ProfileReport
import pandas as pd
# 讀取數(shù)據(jù)
df = pd.read_csv('housing.csv')
# 自動生成數(shù)據(jù)探索報(bào)告
profile = ProfileReport(df, title="Profiling Report")
profile
以上代碼在Jupyter notebook中執(zhí)行,生成數(shù)據(jù)探索報(bào)告如下

ydata_profiling文檔提了幾個(gè)用途,我覺得還是比較實(shí)用的。
提供數(shù)據(jù)概覽:包括廣泛的統(tǒng)計(jì)數(shù)據(jù)和可視化圖表,提供數(shù)據(jù)的整體視圖。該報(bào)告可以作為html文件共享,也可以作為小部件集成在Jupyter筆記本中。
數(shù)據(jù)質(zhì)量評估:識別缺失數(shù)據(jù)、重復(fù)數(shù)據(jù)和異常值。這些對于數(shù)據(jù)清理和準(zhǔn)備很重要,確保分析的可靠性,并及早發(fā)現(xiàn)問題。
易于與其他流集成:數(shù)據(jù)分析的所有度量都可以以標(biāo)準(zhǔn)JSON格式使用。
大型數(shù)據(jù)集的數(shù)據(jù)探索:即使體量很大的數(shù)據(jù)集,ydata_profiling也可以輕松生成報(bào)告,它同時(shí)支持Pandas數(shù)據(jù)幀和Spark數(shù)據(jù)幀。
數(shù)據(jù)集概覽 Overview
首先可以看到數(shù)據(jù)集的整體信息,包括字段數(shù)、缺失值行、重復(fù)行、占內(nèi)存大小等等

字段詳細(xì)信息 Variables
你可以看到所有字段的統(tǒng)計(jì)學(xué)特征以及分布情況,包括均值、分位值、最大最小值


字段分布關(guān)系 Interactions
這是個(gè)交互可視化圖,可以選擇任意兩個(gè)字段,看他們的散點(diǎn)分布關(guān)系,通過這個(gè)你可以很直觀的知道各個(gè)字段的關(guān)聯(lián)關(guān)系是什么樣的,正相關(guān)、負(fù)相關(guān)、無相關(guān)等

字段相關(guān)性 Correations
這里通過熱力圖展示每個(gè)字段的相關(guān)性,也可以看到具體的值


缺失值 Missing values
通過柱狀圖可以清晰看到每個(gè)字段缺失值情況

樣本 Sample
可以展示前10、尾10的樣本數(shù)據(jù)

如果你想加快數(shù)據(jù)分析的速度,可以好好把ydata_profiling利用起來,前期數(shù)據(jù)探索階段可以省很多時(shí)間。