您好,登錄后才能下訂單哦!
小編給大家分享一下Python中pandas數據分析庫如何實現數據可視化,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
數據可視化可以讓我們很直觀的發現數據中隱藏的規律,察覺到變量之間的互動關系,可以幫助我們更好的給他人解釋現象,做到一圖勝千文的說明效果。
常見的數據可視化庫有:
matplotlib 是最常見的2維庫,可以算作可視化的必備技能庫,由于matplotlib是比較底層的庫,api很多,代碼學起來不太容易。
seaborn 是建構于matplotlib基礎上,能滿足絕大多數可視化需求。更特殊的需求還是需要學習matplotlib
pyecharts 上面的兩個庫都是靜態的可視化庫,而pyecharts有很好的web兼容性,可以做到可視化的動態效果。
但是在數據科學中,幾乎都離不開pandas數據分析庫,而pandas可以做
數據采集 如何批量采集網頁表格數據?
數據讀取 pd.read_csv/pd.read_excel
數據清洗(預處理) 理解pandas中的apply和map的作用和異同
可視化,兼容matplotlib語法(今天重點)
在本文我們可以學到用pandas做
導入數據
繪制最簡單的圖plot()
多個y的繪制圖
折線圖、條形圖、餅形圖和散點圖繪制
統計信息繪圖
箱型圖
軸坐標刻度
plot()更多精細化參數
可視化結果輸出保存
如果你之前沒有學過pandas和matpltolib,我們先安裝好這幾個庫
!pip3 install numpy !pip3 install pandas !pip3 install matplotlib
已經安裝好,現在我們導入這幾個要用到的庫。使用的是倫敦天氣數據,一開始我們只有12個月的小數據作為例子
#jupyter notebook中需要加這行代碼 %matplotlib inlineimport matplotlib.pyplot as plt import numpy as np import pandas as pd #讀取天氣數據df = pd.read_csv('data/london2018.csv') df
選擇Month作為橫坐標,Tmax作為縱坐標,繪圖。
大家注意下面兩種寫法
#寫法df.plot(x='Month', y='Tmax')plt.show()
橫坐標軸參數x傳入的是df中的列名Month
縱坐標軸參數y傳入的是df中的列名Tmax
上面的圖就是折線圖,折線圖畫法有三種
df.plot(x='Month', y='Tmax')
df.plot(x='Month', y='Tmax', kind='line')
df.plot.line(x='Month', y='Tmax')
df.plot.line(x='Month', y='Tmax') plt.show()
#grid繪制格線 df.plot(x='Month', y='Tmax', kind='line', grid=True) plt.show()
上面的折線圖中只有一條線, 如何將多個y繪制到一個圖中
比如Tmax, Tmin
df.plot(x='Month', y=['Tmax', 'Tmin']) plt.show()
df.plot(x='Month', y='Rain', kind='bar') #同樣還可以這樣畫#df.plot.bar(x='Month', y='Rain') plt.show()
bar換為barh,就可以將條形圖變為水平條形圖
df.plot(x='Month', y='Rain', kind='barh') #同樣還可以這樣畫#df.plot.bar(x='Month', y='Rain') plt.show()
多個變量的條形圖
df.plot(kind='bar', x = 'Month', y=['Tmax', 'Tmin']) plt.show()
df.plot(kind='scatter', x = 'Month', y = 'Sun') plt.show()
df.plot(kind='pie', y='Sun') plt.show()
上圖繪制有兩個小問題:
legend圖例不應該顯示
月份的顯示用數字不太正規
df.index = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'] df.plot(kind='pie', y = 'Sun', legend=False) plt.show()
一開頭的數據只有12條記錄(12個月)的數據,現在我們用更大的倫敦天氣數據
import pandas as pd df2 = pd.read_csv('data/londonweather.csv') df2.head()
df2.Rain.describe()
count 748.000000 mean 50.408957 std 29.721493 min 0.30000025 % 27.80000050% 46.10000075% 68.800000max 174.800000Name: Rain, dtype: float64
上面一共有748條記錄, 即62年的記錄。
df2.plot.box(y='Rain') #df2.plot(y='Rain', kind='box') plt.show()
df2.plot(y='Rain', kind='hist') #df2.plot.hist(y='Rain') plt.show()
縱坐標的刻度可以通過bins設置
df2.plot(y='Rain', kind='hist', bins=[0,25,50,75,100,125,150,175, 200]) #df2.plot.hist(y='Rain') plt.show()
df.plot(kind='line', y=['Tmax', 'Tmin', 'Rain', 'Sun'], #4個變量可視化 subplots=True, #多子圖并存 layout=(2, 2), #子圖排列2行2列 figsize=(20, 10)) #圖布的尺寸 plt.show()
df.plot(kind='bar', y=['Tmax', 'Tmin', 'Rain', 'Sun'], #4個變量可視化 subplots=True, #多子圖并存 layout=(2, 2), #子圖排列2行2列 figsize=(20, 10)) #圖布的尺寸 plt.show()
給可視化起個標題
df.plot(kind='bar', y=['Tmax', 'Tmin'], #2個變量可視化 subplots=True, #多子圖并存 layout=(1, 2), #子圖排列1行2列 figsize=(20, 5),#圖布的尺寸 title='The Weather of London') #標題 plt.show()
可視化的結果可以存儲為圖片文件
df.plot(kind='pie', y='Rain', legend=False, figsize=(10, 5), title='Pie of Weather in London') plt.savefig('img/pie.png') plt.show()
df.plot(x, y, kind, figsize, title, grid, legend, style)
x 只有dataframe對象時,x可用。橫坐標
y 同上,縱坐標變量
kind 可視化圖的種類,如line,hist, bar, barh, pie, kde, scatter
figsize 畫布尺寸
title 標題
grid 是否顯示格子線條
legend 是否顯示圖例
style 圖的風格
查看plot參數可以使用help
import pandas as pd help(pd.DataFrame.plot)
看完了這篇文章,相信你對“Python中pandas數據分析庫如何實現數據可視化”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。