這篇文章帶領大家介紹一下如何使用pandas進行可視化操作,繪制一些圖形,如條形圖、直方圖、散點圖等,以及一些繪圖時缺失值的繪制方式和一些繪圖的工具和格式,方便大家更快的了解如何使用Pandas進行可視化的繪圖,相信通過這篇文章大家可以在以后處理數據的時候可以繪制出自己想要的圖形。 一、可視化基礎介紹Pandas在內部繪圖時使用的是matplotlib的API, Matplotlib是一個Python 2D繪圖庫,它可以在各種平臺上以各種硬拷貝格式和交互式環境生成出具有出版品質的圖形。 Matplotlib可用于Python腳本,Python和IPython shell,Jupyter筆記本,Web應用程序服務器和四個圖形用戶界面工具包,Matplotlib試圖讓簡單的事情變得更簡單,讓無法實現的事情變得可能實現。 只需幾行代碼即可生成繪圖,直方圖,功率譜,條形圖,錯誤圖,散點圖等。為了簡單繪圖,pyplot模塊提供了類似于MATLAB的界面,特別是與IPython結合使用時。 二、基本繪圖在Pandas中series和DataFrame上面的使用plot方法進行繪圖只是圍繞著plt.plot()的簡單封裝。
在DataFrame中,plot()可以方便的繪制帶有標簽的所有列
三、其他繪圖繪制方法允許除了默認線條之外的其他繪圖樣式。這些方法可以通過plot()的kind關鍵字參數空值。包括以下內容: Bst或bsth 繪制條形圖 Hist 繪制直方圖 Box 繪制箱形圖 Kde或density 繪制密度圖 Area 繪制區域圖 Scatter 繪制散點圖 Hexbin 繪制蜂巢圖 Pie 繪制餅圖 除了使用kind參數,也可以使用直接對應的方法來完成相應的繪圖效果
條形統計圖主要用于表示離散型數據資料,即計數數據。單式條形統計圖和復式條形統計圖的相同點是都能讓人清楚地看出 數量的多少。不同點就是單式條形統計圖用于比較一個物體,而復式條形統計圖用于比較多個物體的數量。 或者使用DataFrame的plot.bar()方法生成一個或多個條形圖
如果要生成堆疊的條形圖,可以設置stacked參數=True; 如果要生成水平的條形圖可以使用barh方法:
直方圖可以用來查看顯示質量波動的狀態;比較直觀地傳遞有關過程質量狀況的信息;當質量數據波動狀況之后,就能掌握過程的狀況,從而確定在什么地方集中力量進行質量改進工作。 直方圖我們可以通過DataFrame.plot.hist()和series.plot.hist()進行繪制 直方圖還可以通過參數實現堆疊,只需要將Stacked參數=True。寬度大小還可以通過bins關鍵字更改。
箱線圖是利用數據中的五個統計量:最小值、第一四分位數、中位數、第三四分位數與最大值來描述數據的一種方法,它也可以粗略地看出數據是否具有有對稱性,分布的分散程度等信息,特別可以用于對幾個樣本的比較,可以用來查看數據異常值;數據的偏態和尾重;數據的形狀。 繪制箱線圖可以通過plot.box()進行繪制 我們還可以通過傳遞顏色關鍵字對boxplot進行著色 著色完之后,盒子邊為暗綠色,線條為暗黃色,中位數為暗藍色,第一四分位數和第三四分位數為綠色。 我們還可以通過vert參數來空值方向,=False為橫向,=True為縱向(默認),還可以通過positions空值每個圖的位置。 除了通過plot.box()繪制箱線圖之外,我們還可以通過boxplot的方法直接進行繪圖,兩種方法的效果是一樣的。 我們也可以通過使用by關鍵字參數創建分層的boxplot來創建分組繪制圖形。 通過x列進行分組,col1中a的隨機數差距較大,b的差距很小,col2中a的差距小,b的差距稍大。 除了可以使用單個關鍵字之外還可以通過多個關鍵字進行分組 首先通過設置的條件可以看出是對Col1和col2進行分組,分組的條件是X和Y,然后將X和Y進行分組,總共可以分為AA,AB,BA,BB這四種類型,然后將這四種類型進行繪制箱線圖得出圖形 4、面積圖 面積圖又稱區域圖,強調數量隨時間而變化的程度,也可用于引起人們對總值趨勢的注意。堆積面積圖和百分比堆積面積圖還可以顯示部分與整體的關系。 我們可以通過面積圖查看總值的趨勢,可以幫助我們進行趨勢分析。 繪制面積圖我們可以通過plot.area 如果我們不希望繪制堆疊圖,可以通過Stacked=False,進行繪制 5、散點圖 散點圖是指數據點在直角坐標系平面上的分布圖,散點圖表示因變量隨自變量而變化的大致趨勢,通常用于回歸分析,據此可以選擇合適的函數對數據點進行回歸擬合。多組散點圖通常用于聚類,能直觀地看出每組數據點的分布。 繪制散點圖可以使用plot.scatter()方法 如果希望再一個圖繪制多個列,指定繪圖的目標后ax可以重復調用繪圖方法,最好是指定顏色和標簽關鍵字來區分每個組。 通過數據可以看出,兩個表的數據通過顏色區分開來,一個為橙色一個為藍色,很方便的就能看出每個數據的分布情況。 關鍵字C可以作為列的名稱給出,可以為每個點提供顏色。 6、蜂巢圖(六角形箱體圖) 使用plot.hexbin()進行繪制蜂巢圖,可以看出數據出現的次數多少。 7、餅圖 餅狀圖是以圓形代表研究對象的整體,用以圓心為共同頂點的各個不同扇形顯示各組成部分在整體中所占的比例,要注明各扇形所代表的項目的名稱(可用圖例表示)及其所占百分比。餅狀圖可以比較清楚地反映出部分與部分、部分與整體之間的數量關系,易于顯示每組數據相對于總數的大小,而且顯現方式直觀。 我們可以通過plot.pie()進行生成餅圖 分成兩組進行繪制 通過autopct參數進行查看占比 如果數據中值的總和小于1的時候,那么matplotlib則會繪制一個半圓。 四、缺失值的默認繪制方式 Pandas試圖真實確切地描繪包含缺少值的DataFrame或series。根據繪圖類型,丟棄省略或填充缺失值。 繪圖類型 缺失值處理方法 Line 在缺失值處填充空白 Line(stacked) 填充為0 Bar 填充為0 Scatter 刪除掉缺失值 Histogram 刪除掉缺失值(逐列刪除) Box 刪除掉缺失值(逐列刪除) Area 填充為0 Kde 刪除掉缺失值(逐列刪除) Hexbin 刪除掉缺失值 Pie 填充為0 如果默認的缺失值處理方式不符合預期的話,就需要自己手動去處理缺失值了(使用fillna或者dropna方法) 五、繪圖工具 1、矩陣散點圖 導入模塊 查看圖形 可以發現每兩個圖之間出散點之間的位置與圖形 2、密度圖 查看數據的分布情況。 六、繪圖格式 大多數的繪圖方法都有一組關鍵字參數來控制返回圖形的布局和格式。 1、控制圖例 當legend=True(默認)時會顯示圖例,也就是二圖的右上角,=False時會隱藏圖例。 2、scales 通過傳入logy獲得將y軸更改為logy的情況 3、在雙Y軸上面畫圖 如果要在DataFrame中繪制一些列,可以將列的名稱給secondary_y關鍵字 如果在輔助Y軸上繪制的列在圖例中自動標記為(右),如果要關閉自動標記,就需要使用mark_right=False了。 |
|
來自: CDA數據分析師 > 《職場攻略·人能生規劃·生活百態》