之前在做數據分析的時候,用過一個自動化生成數據探索報告的Python庫:ydata_profiling
一般我們在做數據處理前會進行數據探索,包括看統計分布、可視化圖表、數據質量情況等,這個過程會消耗很多時間,可能需要上百行代碼才能實現。
ydata_profiling能夠直接完成數據探索的工作,只需要幾行代碼,它會生成互動網頁形式的報告,里面包含數據概覽、字段分布、統計學特征、相關性、缺失值、樣本信息等。
# 導入庫
from ydata_profiling import ProfileReport
import pandas as pd
# 讀取數據
df = pd.read_csv('housing.csv')
# 自動生成數據探索報告
profile = ProfileReport(df, title="Profiling Report")
profile
以上代碼在Jupyter notebook中執行,生成數據探索報告如下
ydata_profiling文檔提了幾個用途,我覺得還是比較實用的。
提供數據概覽:包括廣泛的統計數據和可視化圖表,提供數據的整體視圖。該報告可以作為html文件共享,也可以作為小部件集成在Jupyter筆記本中。
數據質量評估:識別缺失數據、重復數據和異常值。這些對于數據清理和準備很重要,確保分析的可靠性,并及早發現問題。
易于與其他流集成:數據分析的所有度量都可以以標準JSON格式使用。
大型數據集的數據探索:即使體量很大的數據集,ydata_profiling也可以輕松生成報告,它同時支持Pandas數據幀和Spark數據幀。
數據集概覽 Overview
首先可以看到數據集的整體信息,包括字段數、缺失值行、重復行、占內存大小等等
字段詳細信息 Variables
你可以看到所有字段的統計學特征以及分布情況,包括均值、分位值、最大最小值
字段分布關系 Interactions
這是個交互可視化圖,可以選擇任意兩個字段,看他們的散點分布關系,通過這個你可以很直觀的知道各個字段的關聯關系是什么樣的,正相關、負相關、無相關等
字段相關性 Correations
這里通過熱力圖展示每個字段的相關性,也可以看到具體的值
缺失值 Missing values
通過柱狀圖可以清晰看到每個字段缺失值情況
樣本 Sample
可以展示前10、尾10的樣本數據
如果你想加快數據分析的速度,可以好好把ydata_profiling利用起來,前期數據探索階段可以省很多時間。