數據可視化是數據分析的一個重要方面,它提供了一種理解數據并從中得出有意義見解的方法。Pandas 是最常見的于數據分析的 Python 庫,它基于Matplotlib擴展了一些常用的可視化圖表,可以方便的調用,本篇文章就讓我們看看有哪些圖表可以直接使用。
在本文中,我們介紹使用 Pandas 進行數據可視化的基礎知識,包括創建簡單圖、自定義圖以及使用多個DF進行繪圖。
我們將導入必要的庫并加載示例數據集。
我們使用泰坦尼克的示例數據集,包含有乘客的信息,包括他們的船艙等、年齡、票價和生存狀態等信息。
創建簡單的圖
Pandas的 plot 方法提供了創建基本圖(例如線圖、條形圖和散點圖)的簡單方法。讓我們看幾個例子。
線圖
線圖用于表示連續間隔或時間段內的數據趨勢。要創建線圖,調用plot 方法時需要將 kind 參數指定為 line。
看著很亂對吧,這是因為我們展示的數據無法用線圖進行表示,下面我們用更好的圖表表示年齡這個字段
直方圖
我們可以在字段后直接使用hist方法來生成數據的直方圖
這樣是不是就一目了然了,能夠清楚地看到年齡的分布情況
條形圖
條形圖用于表示分類數據,其中每個條代表一個特定類別。要創建條形圖,可以 pandas DataFrame 上使用 plot 方法并將 kind 參數指定為 bar。
餅圖
餅圖與條形圖類似,但是它主要來查看數據的占比
散點圖
散點圖用于表示兩個連續變量之間的關系。要創建散點圖使用 plot 方法將 kind 參數指定為 scatter。
Plot方法
Pandas的可視化主要使用.plot()方法,它有幾個可選參數。其中最重要的是kind 參數,它可以接受 11 個不同的字符串值,并根據這些值創建不同的圖表:
- “area”面積圖
- “bar”垂直條形圖
- “barh”水平條形圖
- “box”箱線圖
- “hexbin” hexbin 圖
- “hist”直方圖。
- “kde”內核密度估計圖表
- “density”是“kde”的別名
- “line”折線圖
- “pie”餅圖
- “scatter”散點圖
如果你不指定kind 參數,它的默認值為“line”。也就是折線圖。如果不向 .plot() 提供任何參數,那么它會創建一個線圖,其中索引位于 x 軸上,所有數字列位于 y 軸上。雖然這對于只有幾列的數據集來說是一個有用的默認值,但對于大型數據集及其多個數字列來說,它看起就不好了。
還有就是:作為將字符串傳遞給 .plot() 的 kind 參數的替代方法,DataFrame 對象有幾種方法可用于創建上述各種類型的圖:
還記得我們第一個直方圖的.hist方法嗎,他就是kind=‘hist’的一個替代。
定制圖表樣式顏色
我們還可以通過使用不同的參數來自定義圖表的外觀,例如標記的顏色、大小和形狀、標簽和標題。
就像我們最初介紹的那樣,pandas繪圖的底層是使用Matplotlib,所以這些參數都是與Matplotlib一致的,我們可以隨意進行調整。
多個DataFrame繪圖
Pandas還沒有提供多個DataFrame的方法,所以我們只能使用Matplotlib,就像下面這樣:
總結
作為最常用的數據分析庫 Pandas 提供了一種創建圖表的簡單方法,這種方法可以幫我們快速對數據集進行簡單的分析,快速的了解數據集的情況。如果需要對數據進行更高級的可視化,可以使用Seaborn、Plotly等更高級的庫。