Pandas內(nèi)置的十種畫(huà)圖方法_第1頁(yè)
Pandas內(nèi)置的十種畫(huà)圖方法_第2頁(yè)
Pandas內(nèi)置的十種畫(huà)圖方法_第3頁(yè)
Pandas內(nèi)置的十種畫(huà)圖方法_第4頁(yè)
Pandas內(nèi)置的十種畫(huà)圖方法_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第Pandas內(nèi)置的十種畫(huà)圖方法目錄前言畫(huà)圖類型面積圖(area)條形圖(bar)水平條形圖(barh)箱線圖(boxplot)密度圖(density)六邊形圖(hexbin)直方圖(hist)折線圖(line)餅圖(pie)散點(diǎn)圖(scatter)

前言

Pandas是非常常見(jiàn)的數(shù)據(jù)分析工具,我們一般都會(huì)處理好處理數(shù)據(jù)然后使用searbon或matplotlib來(lái)進(jìn)行繪制。但在Pandas內(nèi)部就已經(jīng)集成了matplotlib,本文將展示Pandas內(nèi)部的畫(huà)圖方法。

畫(huà)圖類型

在Pandas中內(nèi)置的畫(huà)圖方法如下幾類,基本上都是常見(jiàn)的畫(huà)圖方法。每種方法底層也是使用的matplotlib。

line:lineplot(default)

bar:verticalbarplot

barh:horizontalbarplot

hist:histogram

box:boxplot

density/kde:DensityEstimation

area:areaplot

pie:pieplot

scatter:scatterplot

hexbin:hexbinplot

在進(jìn)行畫(huà)圖時(shí)我們有兩種調(diào)用方法:

df=pd.DataFrame({

'sales':[3,3,3,9,10,6],

'signups':[4,5,6,10,12,13],

'visits':[20,42,28,62,81,50],

},index=pd.date_range(start='2025/01/01',end='2025/07/01',freq='M'))

#方法1,這種方法是高層API,需要制定kind

df.plot(kind='area')

#方法2,這種方法是底層API

df.plot.area()

面積圖(area)

面積圖直觀地顯示定量數(shù)據(jù)下面的區(qū)域面積,該函數(shù)包裝了matplotlib的area函數(shù)。

#默認(rèn)為面積堆疊

df.plot(kind='area')

#設(shè)置面積不堆疊

df.plot.area(stacked=False)

#手動(dòng)指定坐標(biāo)軸

df.plot.area(y='sales',x='signups')

條形圖(bar)

條形圖是一種用矩形條顯示分類數(shù)據(jù)的圖,矩形條的長(zhǎng)度與它們所代表的值成比例。條形圖顯示離散類別之間的比較。圖的一個(gè)軸顯示比較的特定類別,另一個(gè)軸表示測(cè)量值。

df=pd.DataFrame({'lab':['A','B','C'],'val':[10,30,20]})

#手動(dòng)設(shè)置坐標(biāo)軸

ax=df.plot.bar(x='lab',y='val',rot=0)

#并排繪制

df.plot.bar(rot=0)

#堆疊繪制

df.plot.bar(stacked=True)

#分圖繪制

axes=df.plot.bar(rot=0,subplots=True)

axes[0].legend(loc=2)

axes[1].legend(loc=2)

水平條形圖(barh)

水平條形圖是用矩形條形表示定量數(shù)據(jù)的圖表,矩形條形的長(zhǎng)度與它們所代表的值成正比。條形圖顯示離散類別之間的比較。

#并排繪制

df.plot.barh(rot=0)

#堆疊繪制

df.plot.barh(stacked=True)

箱線圖(boxplot)

箱線圖是一種通過(guò)四分位數(shù)以圖形方式描繪數(shù)值數(shù)據(jù)組的方法。該框從數(shù)據(jù)的Q1到Q3四分位值延伸,在中位數(shù)(Q2)處有一條線。

age_list=[8,10,12,14,72,74,76,78,20,25,30,35,60,85]

df=pd.DataFrame({"gender":list("MMMMMMMMFFFFFF"),"age":age_list})

ax=df.plot.box(column="age",by="gender",figsize=(10,8))

密度圖(density)

核密度估計(jì)(KDE)是一種估計(jì)隨機(jī)變量的概率密度函數(shù)(PDF)的非參數(shù)方法。

s=pd.Series([1,2,2.5,3,3.5,4,5])

ax=s.plot.kde()

df=pd.DataFrame({

'x':[1,2,2.5,3,3.5,4,5],

'y':[4,4,4.5,5,5.5,6,6],

ax=df.plot.kde()

六邊形圖(hexbin)

和熱力圖類似,具體的顏色按照密度來(lái)進(jìn)行展示。但形狀使用六邊形圖代替。

n=10000

df=pd.DataFrame({'x':np.random.randn(n),

'y':np.random.randn(n)})

ax=df.plot.hexbin(x='x',y='y',gridsize=20)

直方圖(hist)

df=pd.DataFrame(

np.random.randint(1,7,6000),

columns=['one'])

df['two']=df['one']+np.random.randint(1,7,6000)

ax=df.plot.hist(bins=12,alpha=0.5)

折線圖(line)

s=pd.Series([1,3,2])

s.plot.line()

df=pd.DataFrame({

'pig':[20,18,489,675,1776],

'horse':[4,25,281,600,1900]

},index=[1990,1997,2003,2009,2014])

lines=df.plot.line()

餅圖(pie)

df=pd.DataFrame({'mass':[0.330,4.87,5.97],

'radius':[2439.7,6051.8,6378.1]},

index=['Mercury','Venus','Earth'])

plot=df.plot.pie(y='mass',figsize=(5,5))

#默認(rèn)使用index進(jìn)行分組

df.plot.pie(subplots=True,figsize=(11,6))

散點(diǎn)圖(scatter)

df=pd.DataFrame([[5.1,3.5,0],[4.9,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論