分享4款Python 自動數據分析神器

前言:

我們做數據分析,在第一次拿到數據集的時候,一般會用統計學或可視化方法來瞭解原始數據。比如瞭解列數、行數、取值分佈、缺失值、列之間的相關關系等等,這個過程我們叫做 EDA(Exploratory Data Analysis,探索性數據分析)。

pandas一行行寫代碼,那太痛苦瞭!目前已經有很多EDA工具可以自動產出基礎的統計數據和圖表,能為我們節省大量時間。

在本文,我給大傢分享 4 款常用的EDA工具,它們可以自動產出統計數據和圖表,為我們節省大量時間。

正式介紹這些工具之前,先來加載數據集

import numpy as np
import pandas as pd
iris = pd.read_csv('iris.csv')
iris

iris是下面用到的數據集,是一個150行 * 4列的 DataFrame

1. PandasGUI

PandasGUI提供數據預覽、篩選、統計、多種圖表展示以及數據轉換。

# 安裝
# pip install pandasgui
from pandasgui import show

show(iris)

PandasGUI操作界面

PandasGUI更側重數據展示,提供瞭10多種圖表,通過可視的方式配置。

但數據統計做的比較簡單,沒有提供缺失值、相關系數等指標,數據轉換部分也隻開放瞭一小部分接口。

2. Pandas Profiling

Pandas Profiling 提供瞭整體數據概況、每列的詳情、列之間的關圖、列之間的相關系數。

# 安裝:
# 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操作界面

每列的詳情包括:缺失值統計、去重計數、最值、平均值等統計指標和取值分佈的柱狀圖。

列之間的相關系數支持Spearman、Pearson、Kendall 和 Phik 4 種相關系數算法。

PandasGUI 相反,Pandas Profiling沒有豐富的圖表,但提供瞭非常多的統計指標以及相關系數。

3. Sweetviz

SweetvizPandas Profiling類似,提供瞭每列詳細的統計指標、取值分佈、缺失值統計以及列之間的相關系數。

# 安裝
# pip install sweetviz

import sweetviz as sv

sv_report = sv.analyze(iris)
sv_report.show_html()

Sweetviz操作界面

Sweetviz還有有一個非常好的特性是支持不同數據集的對比,如:訓練數據集和測試數據集的對比。

Sweetviz數據集對比

藍色和橙色代表不同的數據集,通過對比可以清晰發現數據集之前的差異。

4. dtale

最後重磅介紹dtale,它不僅提供豐富圖表展示數據,還提供瞭很多交互式的接口,對數據進行操作、轉換。

dtale操作界面

dtale的功能主要分為三部分:數據操作、數據可視化、高亮顯示。

4.1 數據操作(Actions)

dtalepandas的函數包裝成可視化接口,可以讓我們通過圖形界面方式來操作數據。

# pip install dtale

import dtale

d = dtale.show(iris)
d.open_browser()

Actions

右半部分圖是左邊圖的中文翻譯,用的是 Chrome 自動翻譯,有些不是很準確。

舉一個數據操作的例子:

Summarize Data

上圖是Actions菜單中Summarize Data的功能,它提供瞭對數據集匯總操作的接口。

上圖我們選擇按照species列分組,計算sepal_width列的平均值,同時可以看到左下角dtale已經自動為該操作生成瞭pandas代碼。

4.2 數據可視化(Visualize)

提供比較豐富的圖表,對每列數據概況、重復行、缺失值、相關系數進行統計和展示。

Visualize

舉一個數據可視化的例子:

Describe

上圖是Visualize菜單中Describe的功能,它可以統計每列的最值、均值、標準差等指標,並提供圖表展示。

右側的Code Export可以查看生成這些數據的代碼。

4.3 高亮顯示(Highlight)

對缺失值、異常值做高亮顯示,方便我們快速定位到異常的數據。

Highlight

上圖顯示瞭將sepal_width字段的異常值。

dtale非常強大,功能也非常多,大傢可以多多探索、挖掘。

最後,簡單總結一下。如果探索的數據集側重數據展示,可以選PandasGUI;如果隻是簡單瞭解基本統計指標,可以選擇Pandas Profiling和Sweetviz;如果需要做深度的數據探索,那就選擇dtale。

到此這篇關於 分享4款Python 自動數據分析神器的文章就介紹到這瞭,更多相關Python 自動數據分析神器內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: