Pandas是用於資料處理的核心庫,也可以進行簡單的視覺化,繪製散點、折線、直方等基礎圖表都不在話下。
Pandas自帶的視覺化方法是基於matplotlib的函式介面,在Jupyter裡可以靜態展示。
這次介紹一個視覺化工具-
LUX
,它能自動地將DataFrame資料轉化為統計圖表,讓你可以一目瞭然地看到相關性、分佈、頻率等資訊。
LUX在Jupyter Notebook或Lab中進行互動,圖表與資料可以同步顯示。
使用LUX
以下面資料集(美國各大學資訊表)為例:
# 匯入pandas和lux庫import pandas as pdimport lux#載入資料df = pd。read_excel(“C:\\Users\\zii\\Documents\\USA_College。xlsx”)df
讀取的資料如下:
除了顯示的資料表外,同時你還會看到資料集上面出現一個按鈕,可以進行資料/圖表的交換顯示。
所以說只需要匯入lux庫,就能直接使用圖表功能。
LUX顯示有三種類型的圖表,代表的統計學含義分別是相關性、直方分佈、事件頻次。
除了全表的視覺化探索外,你還可以研究特定變數間的關係。
比如,想看
SAT平均值
和
收入中位數
的關聯性。
df。intent = [‘SAT平均值’,‘收入中位數’]df
左邊的表是兩個變數的總體分佈,右邊是在有篩選條件下的分佈。
匯出圖表
LUX 支援圖表的匯出,既可以匯出圖表檔案,也可以匯出相應的matplotlib、altair程式碼。
首先選定一個或多個圖表,點選匯出按鈕。
可以直接將選定的圖表單獨顯示出來:
匯出htmldf。save_as_html(‘hpi。html’)
匯出matplotlib程式碼
vis = df。exportedprint (vis[0]。to_matplotlib())
匯出altair程式碼
vis = df。exportedprint(vis[0]。to_Altair())
匯出的程式碼可以直接執行:
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
安裝設定
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做資料探索,省去了很多不必要的操作。