欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python數(shù)據(jù)可視化繪圖實例詳解

 更新時間:2022年05月07日 10:47:19   作者:菜J學(xué)Python  
數(shù)據(jù)可視化是指用圖形或表格的方式來呈現(xiàn)數(shù)據(jù)。圖表能夠清楚地呈現(xiàn)數(shù)據(jù)性質(zhì), 以及數(shù)據(jù)間或?qū)傩蚤g的關(guān)系。本文為大家分享了幾個Python數(shù)據(jù)可視化繪圖的實例,感興趣的可以了解一下

利用可視化探索圖表

1.數(shù)據(jù)可視化與探索圖

數(shù)據(jù)可視化是指用圖形或表格的方式來呈現(xiàn)數(shù)據(jù)。圖表能夠清楚地呈現(xiàn)數(shù)據(jù)性質(zhì), 以及數(shù)據(jù)間或?qū)傩蚤g的關(guān)系,可以輕易地讓人看圖釋義。用戶通過探索圖(Exploratory Graph)可以了解數(shù)據(jù)的特性、尋找數(shù)據(jù)的趨勢、降低數(shù)據(jù)的理解門檻。

2.常見的圖表實例

本章主要采用 Pandas 的方式來畫圖,而不是使用 Matplotlib 模塊。其實 Pandas 已經(jīng)把 Matplotlib 的畫圖方法整合到 DataFrame 中,因此在實際應(yīng)用中,用戶不需要直接引用 Matplotlib 也可以完成畫圖的工作。

1.折線圖

折線圖(line chart)是最基本的圖表,可以用來呈現(xiàn)不同欄位連續(xù)數(shù)據(jù)之間的關(guān)系。繪制折線圖使用的是 plot.line() 的方法,可以設(shè)置顏色、形狀等參數(shù)。在使用上,拆線圖繪制方法完全繼承了 Matplotlib 的用法,所以程序最后也必須調(diào)用 plt.show() 產(chǎn)生圖,如圖8.4 所示。

df_iris[['sepal?length?(cm)']].plot.line()?
plt.show()
ax?=?df[['sepal?length?(cm)']].plot.line(color='green',title="Demo",style='--')?
ax.set(xlabel="index",?ylabel="length")
plt.show()

圖片

2.散布圖

散布圖(Scatter Chart)用于檢視不同欄位離散數(shù)據(jù)之間的關(guān)系。繪制散布圖使用的是 df.plot.scatter(),如圖8.5所示。

df?=?df_iris
df.plot.scatter(x='sepal?length?(cm)',?y='sepal?width?(cm)')

from?matplotlib?import?cm?
cmap?=?cm.get_cmap('Spectral')
df.plot.scatter(x='sepal?length?(cm)',
??????????y='sepal?width?(cm)',?
??????????s=df[['petal?length?(cm)']]*20,?
??????????c=df['target'],
??????????cmap=cmap,
??????????title='different?circle?size?by?petal?length?(cm)')

圖片

3.直方圖、長條圖

直方圖(Histogram Chart)通常用于同一欄位,呈現(xiàn)連續(xù)數(shù)據(jù)的分布狀況,與直方圖類似的另一種圖是長條圖(Bar Chart),用于檢視同一欄位,如圖 8.6 所示。

df[['sepal?length?(cm)',?'sepal?width?(cm)',?'petal?length?(cm)','petal?width?(cm)']].plot.hist()
2?df.target.value_counts().plot.bar()

圖片

4. 圓餅圖、箱形圖

圓餅圖(Pie Chart)可以用于檢視同一欄位各類別所占的比例,而箱形圖(Box Chart)則用于檢視同一欄位或比較不同欄位數(shù)據(jù)的分布差異,如圖 8.7 所示。

df.target.value_counts().plot.pie(legend=True)
df.boxplot(column=['target'],?gsize=(10,5))

圖片

數(shù)據(jù)探索實戰(zhàn)分享

本節(jié)利用兩個真實的數(shù)據(jù)集實際展示數(shù)據(jù)探索的幾種手法。

1.2013年美國社區(qū)調(diào)查

在美國社區(qū)調(diào)查(American Community Survey)中,每年約有 350 萬個家庭被問到關(guān)于他們是誰及他們?nèi)绾紊畹脑敿?xì)問題。調(diào)查的內(nèi)容涵蓋了許多主題,包括祖先、教育、工作、交通、互聯(lián)網(wǎng)使用和居住。

數(shù)據(jù)來源

數(shù)據(jù)名稱:2013 American Community Survey。

先觀察數(shù)據(jù)的樣子與特性,以及每個欄位代表的意義、種類和范圍。

#?讀取數(shù)據(jù)
df?=?pd.read_csv("./ss13husa.csv")
#?欄位種類數(shù)量
df.shape
#?(756065,231)

#?欄位數(shù)值范圍
df.describe()

先將兩個 ss13pusa.csv 串連起來,這份數(shù)據(jù)總共包含 30 萬筆數(shù)據(jù),3 個欄位:SCHL ( 學(xué)歷,School Level)、 PINCP ( 收入,Income) 和 ESR ( 工作狀態(tài),Work Status)。

pusa?=?pd.read_csv("ss13pusa.csv")?pusb?=?pd.read_csv("ss13pusb.csv")
#?串接兩份數(shù)據(jù)
col?=?['SCHL','PINCP','ESR']
df['ac_survey']?=?pd.concat([pusa[col],pusb[col],axis=0)

依據(jù)學(xué)歷對數(shù)據(jù)進(jìn)行分群,觀察不同學(xué)歷的數(shù)量比例,接著計算他們的平均收入。

group?=?df['ac_survey'].groupby(by=['SCHL'])?print('學(xué)歷分布:'?+?group.size())
group?=?ac_survey.groupby(by=['SCHL'])?print('平均收入:'?+group.mean())

2.波士頓房屋數(shù)據(jù)集

波士頓房屋數(shù)據(jù)集(Boston House Price Dataset)包含有關(guān)波士頓地區(qū)的房屋信息, 包 506 個數(shù)據(jù)樣本和 13 個特征維度。

數(shù)據(jù)來源

數(shù)據(jù)名稱:Boston House Price Dataset。

先觀察數(shù)據(jù)的樣子與特性,以及每個欄位代表的意義、種類和范圍。

可以用直方圖的方式畫出房價(MEDV)的分布,如圖 8.8 所示。

df?=?pd.read_csv("./housing.data")
#?欄位種類數(shù)量
df.shape
#?(506,?14)

#欄位數(shù)值范圍df.describe()
import?matplotlib.pyplot?as?plt?
df[['MEDV']].plot.hist()?
plt.show()

圖片

注:圖中英文對應(yīng)筆者在代碼中或數(shù)據(jù)中指定的名字,實踐中讀者可將它們替換成自己需要的文字。

接下來需要知道的是哪些維度與“房價”關(guān)系明顯。先用散布圖的方式來觀察,如圖8.9所示。

#?draw?scatter?chart?
df.plot.scatter(x='MEDV',?y='RM')?.
plt.show()

圖片

最后,計算相關(guān)系數(shù)并用聚類熱圖(Heatmap)來進(jìn)行視覺呈現(xiàn),如圖 8.10 所示。

#?compute?pearson?correlation?
corr?=?df.corr()
#?draw??heatmap?
import?seaborn?as?sns?
corr?=?df.corr()?
sns.heatmap(corr)?
plt.show()

圖片

顏色為紅色,表示正向關(guān)系;顏色為藍(lán)色,表示負(fù)向關(guān)系;顏色為白色,表示沒有關(guān)系。RM 與房價關(guān)聯(lián)度偏向紅色,為正向關(guān)系;LSTAT、PTRATIO 與房價關(guān)聯(lián)度偏向深藍(lán), 為負(fù)向關(guān)系;CRIM、RAD、AGE 與房價關(guān)聯(lián)度偏向白色,為沒有關(guān)系。

以上就是Python數(shù)據(jù)可視化繪圖實例詳解的詳細(xì)內(nèi)容,更多關(guān)于Python數(shù)據(jù)可視化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python消費(fèi)kafka數(shù)據(jù)批量插入到es的方法

    python消費(fèi)kafka數(shù)據(jù)批量插入到es的方法

    今天小編就為大家分享一篇python消費(fèi)kafka數(shù)據(jù)批量插入到es的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 關(guān)于自動化測試框架pytest的Fixture固件

    關(guān)于自動化測試框架pytest的Fixture固件

    這篇文章主要介紹了關(guān)于自動化測試框架pytest的Fixture固件,Fixture它其實就是一些函數(shù),會在執(zhí)行測試方法/測試函數(shù)前后加載運(yùn)行它們,需要的朋友可以參考下
    2023-03-03
  • 如何基于OpenCV&Python實現(xiàn)霍夫變換圓形檢測

    如何基于OpenCV&Python實現(xiàn)霍夫變換圓形檢測

    最近開始學(xué)習(xí)opencv,想檢測圖片上的圓環(huán),發(fā)現(xiàn)霍夫變換可以做這樣的效果出來,于是嘗試用霍夫變換做了下圓環(huán)檢測,這篇文章主要給大家介紹了基于OpenCV&Python實現(xiàn)霍夫變換圓形檢測的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • python 調(diào)用有道api接口的方法

    python 調(diào)用有道api接口的方法

    今天小編就為大家分享一篇python 調(diào)用有道api接口的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python使用協(xié)程實現(xiàn)并發(fā)操作的方法詳解

    python使用協(xié)程實現(xiàn)并發(fā)操作的方法詳解

    這篇文章主要介紹了python使用協(xié)程實現(xiàn)并發(fā)操作的方法,結(jié)合實例形式詳細(xì)分析了Python協(xié)程的原理及使用Gevent實現(xiàn)協(xié)程操作的相關(guān)技巧與操作注意事項,需要的朋友可以參考下
    2019-12-12
  • opencv函數(shù)threshold、adaptiveThreshold、Otsu二值化的實現(xiàn)

    opencv函數(shù)threshold、adaptiveThreshold、Otsu二值化的實現(xiàn)

    這篇文章主要介紹了opencv函數(shù)threshold、adaptiveThreshold、Otsu二值化的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 解決pycharm運(yùn)行出錯,代碼正確結(jié)果不顯示的問題

    解決pycharm運(yùn)行出錯,代碼正確結(jié)果不顯示的問題

    今天小編就為大家分享一篇解決pycharm運(yùn)行出錯,代碼正確結(jié)果不顯示的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python實現(xiàn)圖片橫向和縱向拼接

    python實現(xiàn)圖片橫向和縱向拼接

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)圖片橫向和縱向拼接,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 詳解Numpy中的廣播原則/機(jī)制

    詳解Numpy中的廣播原則/機(jī)制

    這篇文章主要介紹了Numpy中的廣播原則/機(jī)制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • python實現(xiàn)圖片批量壓縮程序

    python實現(xiàn)圖片批量壓縮程序

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)圖片批量壓縮程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評論