助力 Pandas 智慧視覺化分析的 Python 庫

Pandas是用於資料處理的核心庫,也可以進行簡單的視覺化,繪製散點、折線、直方等基礎圖表都不在話下。

助力 Pandas 智慧視覺化分析的 Python 庫

Pandas自帶的視覺化方法是基於matplotlib的函式介面,在Jupyter裡可以靜態展示。

這次介紹一個視覺化工具-

LUX

,它能自動地將DataFrame資料轉化為統計圖表,讓你可以一目瞭然地看到相關性、分佈、頻率等資訊。

助力 Pandas 智慧視覺化分析的 Python 庫

LUX在Jupyter Notebook或Lab中進行互動,圖表與資料可以同步顯示。

使用LUX

以下面資料集(美國各大學資訊表)為例:

# 匯入pandas和lux庫import pandas as pdimport lux#載入資料df = pd。read_excel(“C:\\Users\\zii\\Documents\\USA_College。xlsx”)df

讀取的資料如下:

助力 Pandas 智慧視覺化分析的 Python 庫

助力 Pandas 智慧視覺化分析的 Python 庫

除了顯示的資料表外,同時你還會看到資料集上面出現一個按鈕,可以進行資料/圖表的交換顯示。

助力 Pandas 智慧視覺化分析的 Python 庫

所以說只需要匯入lux庫,就能直接使用圖表功能。

助力 Pandas 智慧視覺化分析的 Python 庫

LUX顯示有三種類型的圖表,代表的統計學含義分別是相關性、直方分佈、事件頻次。

助力 Pandas 智慧視覺化分析的 Python 庫

助力 Pandas 智慧視覺化分析的 Python 庫

助力 Pandas 智慧視覺化分析的 Python 庫

除了全表的視覺化探索外,你還可以研究特定變數間的關係。

比如,想看

SAT平均值

收入中位數

的關聯性。

df。intent = [‘SAT平均值’,‘收入中位數’]df

助力 Pandas 智慧視覺化分析的 Python 庫

左邊的表是兩個變數的總體分佈,右邊是在有篩選條件下的分佈。

匯出圖表

LUX 支援圖表的匯出,既可以匯出圖表檔案,也可以匯出相應的matplotlib、altair程式碼。

首先選定一個或多個圖表,點選匯出按鈕。

助力 Pandas 智慧視覺化分析的 Python 庫

可以直接將選定的圖表單獨顯示出來:

助力 Pandas 智慧視覺化分析的 Python 庫

匯出htmldf。save_as_html(‘hpi。html’)

匯出matplotlib程式碼

vis = df。exportedprint (vis[0]。to_matplotlib())

助力 Pandas 智慧視覺化分析的 Python 庫

匯出altair程式碼

vis = df。exportedprint(vis[0]。to_Altair())

助力 Pandas 智慧視覺化分析的 Python 庫

匯出的程式碼可以直接執行:

import altair as altchart = alt。Chart(df)。mark_circle()。encode( x=alt。X(‘SAT平均值’,scale=alt。Scale(domain=(666, 1534)),type=‘quantitative’, axis=alt。Axis(title=‘SAT平均值’)), y=alt。Y(‘收入中位數’,scale=alt。Scale(domain=(20200, 125600)),type=‘quantitative’, axis=alt。Axis(title=‘收入中位數’)))chart = chart。configure_mark(tooltip=alt。TooltipContent(‘encoding’)) # Setting tooltip as non-nullchart = chart。interactive() # Enable Zooming and Panningchart = chart。encode(color=alt。Color(‘最高學位’,type=‘nominal’))chart = chart。configure_title(fontWeight=500,fontSize=13,font=‘Helvetica Neue’)chart = chart。configure_axis(titleFontWeight=500,titleFontSize=11,titleFont=‘Helvetica Neue’,labelFontWeight=400,labelFontSize=8,labelFont=‘Helvetica Neue’,labelColor=‘#505050’)chart = chart。configure_legend(titleFontWeight=500,titleFontSize=10,titleFont=‘Helvetica Neue’,labelFontWeight=400,labelFontSize=8,labelFont=‘Helvetica Neue’)chart = chart。properties(width=160,height=150)chart

助力 Pandas 智慧視覺化分析的 Python 庫

安裝設定

lux安裝過程和其他庫一樣,可以透過pip或conda安裝,直接在命令列輸入:

pip install lux-api

conda install -c conda-forge lux-api

因為lux一般用在Jupyter生態中,所以需要安裝並激活luxwidget拓展,才能顯示互動式視窗。

如果你是在Jupyter Notebook或VSCode中使用,使用下面程式碼啟用拓展:

jupyter nbextension install ——py luxwidgetjupyter nbextension enable ——py luxwidget

如果你使用的是Jupyter Lab,則啟用lab拓展:

jupyter labextension install @jupyter-widgets/jupyterlab-managerjupyter labextension install luxwidget

總結

LUX是一個不錯的資料視覺化分析工具,能智慧地輔助Pandas做資料探索,省去了很多不必要的操作。