六個探索性數(shù)據(jù)分析(EDA)工具,太實用了!
當(dāng)進行數(shù)據(jù)分析時,探索性數(shù)據(jù)分析(EDA)是一個至關(guān)重要的階段,它能幫助我們從數(shù)據(jù)中發(fā)現(xiàn)模式、趨勢和異?,F(xiàn)象。而選擇合適的EDA工具又能夠極大地提高工作效率和分析深度。在本文中,筆者將介紹6個極其實用的探索性數(shù)據(jù)分析(EDA)工具,這些工具能夠幫助您更好地理解數(shù)據(jù)、發(fā)現(xiàn)隱藏的信息,并為后續(xù)分析和決策提供有力支持。讓我們一起來看看這些工具是如何幫助我們探索數(shù)據(jù)世界的吧!
1. SweetViz
SweetViz是一個開源的 Python 庫,可以通過僅兩行代碼生成美觀且高密度的可視化圖表,以便快速進行探索性數(shù)據(jù)分析(EDA)。其輸出是一個完全獨立的HTML應(yīng)用程序。
其設(shè)計初衷是快速可視化目標(biāo)數(shù)值并比較數(shù)據(jù)集,幫助快速分析目標(biāo)特征、訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)之間的差異,以及數(shù)據(jù)集的結(jié)構(gòu)、特征之間的關(guān)系、數(shù)據(jù)的分布情況等,從而加速數(shù)據(jù)分析的過程。
下面是一個簡單的示例,演示如何使用SweetViz 進行數(shù)據(jù)探索性分析:
import pandas as pd
import sweetviz as sv
import numpy as np
data = pd.DataFrame({'隨機數(shù)': np.random.randint(1, 100, 100)})
# 創(chuàng)建SweetViz 報告
report = sv.analyze(data)
# 將報告保存為HTML文件
report.show_html('random_report.html')
2. ydata-profiling
ydata-profiling是一個用于數(shù)據(jù)探查和分析的 Python 庫,可以幫助用戶快速了解和分析數(shù)據(jù)集的內(nèi)容。通過使用ydata-profiling,用戶可以生成關(guān)于數(shù)據(jù)集中各種變量的統(tǒng)計信息、分布情況、缺失值、相關(guān)性等方面的報告。這可以幫助用戶在數(shù)據(jù)分析階段更快地了解數(shù)據(jù)集的特征,從而更好地進行后續(xù)的數(shù)據(jù)處理和建模工作。
以下是一個簡單的示例代碼,展示了如何使用ydata-profiling對數(shù)據(jù)集進行分析:
import pandas as pd
from ydata_profiling import ProfileReport
df = pd.read_csv('data.csv')
profile = ProfileReport(df, title="Profiling Report")
3. DataPrep
Dataprep是一個用于分析、準(zhǔn)備和處理數(shù)據(jù)的開源Python包。DataPrep構(gòu)建在Pandas和Dask DataFrame之上,可以很容易地與其他Python庫集成。
下面是一個簡單的示例,演示如何使用DataPrep進行數(shù)據(jù)探索性分析:
from dataprep.datasets import load_dataset
from dataprep.eda import create_report
df = load_dataset("titanic.csv")
create_report(df).show_browser()
4. AutoViz
Autoviz包可以用一行代碼自動可視化任何大小的數(shù)據(jù)集,并自動生成HTML、bokeh等報告。用戶可以與AutoViz包生成的HTML報告進行交互。
以下是一個簡單的示例代碼,展示了如何使用 AutoViz:
from autoviz.AutoViz_Class import AutoViz_Class
AV = AutoViz_Class()
filename = "" # 如果有文件名,可以在這里指定
sep = "," # 數(shù)據(jù)集的分隔符
dft = AV.AutoViz(
filename,
sep=",",
depVar="",
dfte=None,
header=0,
verbose=0,
lowess=False,
chart_format="svg",
max_cols_analyzed=30,
max_rows_analyzed=150000,
)
5. D-Tale
D-Tale 是一個結(jié)合了 Flask 后端和 React 前端的工具,為用戶提供了一種輕松查看和分析 Pandas 數(shù)據(jù)結(jié)構(gòu)的方式。它與 Jupyter 筆記本和 Python/IPython 終端完美集成。目前,該工具支持 Pandas 的數(shù)據(jù)結(jié)構(gòu),包括 DataFrame、Series、MultiIndex、DatetimeIndex 和 RangeIndex。用戶可以通過 D-Tale 在瀏覽器中直觀地查看數(shù)據(jù)、生成統(tǒng)計信息、創(chuàng)建可視化圖表,并進行一些數(shù)據(jù)處理操作。D-Tale 的結(jié)構(gòu)使得數(shù)據(jù)分析變得更加直觀和便捷,為用戶提供了一種高效的數(shù)據(jù)探索和分析工具。
6. Dabl
Dabl不太關(guān)注單個列的統(tǒng)計度量,而是更多地關(guān)注通過可視化提供快速概述,以及方便的機器學(xué)習(xí)預(yù)處理和模型搜索。Dabl中的Plot()函數(shù)可以通過繪制各種圖來實現(xiàn)可視化,包括:
- 目標(biāo)分布圖
- 散射對圖
- 線性判別分析
以下是一個簡單的示例代碼,展示了如何使用Dabl:
import pandas as pd
import dabl
df = pd.read_csv("titanic.csv")
dabl.plot(df, target_col="Survived")