數據分析基本工具-Seaborn

Seaborn是在Matplotlib的基礎上所建構出的,並與資料分析的套件 — Pandas緊密結合著。Seaborn的語法被認為是比Matplotlib還要更精美細緻的,可以很輕鬆的設定出好看的圖型,程式碼更是精簡,因此,若Seaborn支持的話,建議讀者以Seaborn作為第一優先的繪圖套件。

補充:

語法說明

1. 前置作業

安裝套件

匯入套件

2. 圖表設計

重置成預設樣式

設定圖表風格

取自[圖解]Python Visulization-Seaborn style setting

設定調色盤顏色

Seaborn set_palette( )顏色樣式

設定元素縮放比例

取自[圖解]Python Visulization-Seaborn style setting

3. 常用圖表

因文章長度的關係,本篇文章並不會將所有的圖表都進行展示,但大致整理出了以下各種種類中常出現的圖表類型,讀者可以根據資料的種類選用適合的~

取自Seaborn官網

4. 實際操作
4.1 介紹資料集

本次所選用的資料集是於Kaggle上一份關於Ted Talks演講的資訊,欄位包含了演講名稱(title)、演講者(author)、日期(date)、觀看數(views)、喜歡數(likes)及網址連結(link)。

而資料總共為5440筆,跨越的時間橫渡為2009年的4月至2021年的9月。

4.2 資料前處理簡介

因繪圖所需,因此產生出了一些特徵欄位,分別為年份(year)、月份(month)即日期(date)。

而資料中並無空值,因此不需做刪除列或是補值的動作。

4.3 圖表繪製

  • 計數圖(countplot)

類似柱狀圖,可以直接計算出每個類別的總數,並比較出個類別間的計數差,適用於類別型的資料。

年份-演講次數 計數圖
月份-演講次數 計數圖
  • 折線圖(lineplot)

是由多個數據點連接而成,可用折線的方式看到趨勢,適合用於變化、連續型的資料。

日期-喜歡數 折線圖
日期-觀看數 折線圖
  • 圓餅圖(piechart)

通常使用於類別型的資料,可以表示各項目占整體資料的比例,每個扇區的弧長大小數量的比例。

此圖為matplotlib所繪,非seaborn,但因資料類別的表現狀況,因此認為圓餅圖還是較為適當。

前八名作者發表演講佔比 圓餅圖
  • 熱力圖(heatmap)

因此段有用到其他中途產生的dataframe,稍微帶一下如何產出的~~

為二維空間的表示圖,可表示出x與y軸個類別的相關係數,亦或是利用深淺顏色表現出發生次數或頻率的高低。

cmap的造型樣式有非常多種,可幫助圖表示得更清楚及符合主題,大家可參考以下連結,該文章幾乎整理出了所有可調用的樣式供大家選用~

年份、月份及演講次數 熱力圖(cmap=Blues)
年份、月份及演講次數 熱力圖(cmap=twilight)
  • 回歸線圖(regplot)

先將所有資料點利於點圖方式呈現,再找出回歸線,可藉此看出資料分布的趨勢。

年份-演講次數 回歸線圖(truncate=False)
月份-演講次數 回歸線圖(truncate=True)
  • 盒鬚圖(boxplot)

是一種可以顯示出資料分布的統計圖,可看出離群值、平均數、全距或四分位距等。

sns.despine()用於設定邊界、匡線等

月份-觀看次數 盒鬚圖(palette=icefire)
月份-觀看次數 盒鬚圖(palette=flag)
  • 小提琴圖(violinplot)

可以展示出多種資料類別的分布狀況及概率密度,提琴中間有條黑色粗線,可看出資料的四分位距,是集合盒鬚圖及密度圖優點於一身的圖形類別。

月份-喜歡次數 小提琴圖(palette=magma, float=0.6)

總結

讀者閱讀完本文章以後,應該會發現其實各圖表的語法差異並不大,參數也都是差不多的,只是可能有些會因為需求多出了一兩個其他的參數做調整,與Matplotlib相比更簡易好操作,圖表也更精緻了一些,顏色設計上都美觀了許多,因此才會推薦讀者若有視覺化上的需可以Seaborn作為首選!

本文授權轉載自數據領航員 / 原文刊登於:數據分析基本工具-Seaborn