農林漁牧網

您現在的位置是:首頁 > 農業

直方圖、密度圖、散點圖,python資料視覺化方法,你要的都在這裡

2022-02-09由 素食先生lpt 發表于 農業

散佈圖的幾種典型相關

直方圖、密度圖、散點圖,python資料視覺化方法,你要的都在這裡

直方圖和密度圖

直方圖

直方圖(histogram)

是一種可以對值頻率進行離散化顯示的柱狀圖。資料點被拆分到離散的、間隔均勻的面元中,繪製的是各面元中資料點的數量。

In [

165

]: data1=pd。read_csv(‘G:\LPTPython\practice。csv’)

In [

167

]: data1[‘tip_pct’]=data1[‘tip’] / data1[‘total_bill’]

In [

169

]: data1[‘tip_pct’]。hist(bins=50)

直方圖、密度圖、散點圖,python資料視覺化方法,你要的都在這裡

密度圖

與此相關的一種圖表型別是密度圖,它是透過計算“可能會產生觀測資料的連續機率分佈的估計”而產生。一般的過程是將該分佈近似為一組核(即諸如正態(高斯)分佈之類的較為簡單的分佈)。因此,密度圖也被稱作KDE圖。呼叫plot時加上kind=’kde’即可生成一張密度圖(標準混合正態分佈KDE):

In [

170

]: data1[‘tip_pct’]。plot(kind=‘kde’)

直方圖、密度圖、散點圖,python資料視覺化方法,你要的都在這裡

In [

182

]: values。hist(bins=100,alpha=0。3,color=‘#1d07f5’,normed=True)

直方圖、密度圖、散點圖,python資料視覺化方法,你要的都在這裡

In [

186

]: values。plot(kind=‘kde’,style=‘k——’)

直方圖、密度圖、散點圖,python資料視覺化方法,你要的都在這裡

散佈圖(或散點圖)

散佈圖(scatter plot)是觀察兩個一維資料序列之間的關係的有效手段。Matplotlib的scatter方法是繪製散佈圖的主要方法。

In [

187

]: macro=pd。read_csv(‘G:\LPTPython\macrodata。csv’)

In [

188

]: data=macro[[‘cpi’,‘m1’,‘tbilrate’,‘unemp’]]

In [

190

]: trans_data=np。log(data)。diff()。dropna()

In [

191

]: trans_data[-5:]

Out[

191

]:

cpi m1 tbilrate unemp

198 -0。007904 0。045361 -0。396881 0。105361

199 -0。021979 0。066753 -2。277267 0。139762

200 0。002340 0。010286 0。606136 0。160343

201 0。008419 0。037461 -0。200671 0。127339

202 0。008894 0。012202 -0。405465 0。042560

plt。scatter

利用

plt.scatter

即可輕鬆繪製一張簡單的散佈圖:

In [

192

]: plt。scatter(trans_data[‘m1’],trans_data[‘unemp’])

直方圖、密度圖、散點圖,python資料視覺化方法,你要的都在這裡

scatter_matrix函式

Pandas提供了一個能從DataFrame建立散佈圖矩陣的scatter_matrix函式。它還支援在對角線上放置各變數的直方圖或密度圖。

In [

195

]: pd。scatter_matrix(trans_data,diagonal=‘kde’,

c='r'

,alpha=0。3)

直方圖、密度圖、散點圖,python資料視覺化方法,你要的都在這裡