久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

 文明世界拼圖 2019-01-26

作者——Gilbert Tanner

如何利用Matplotlib,、Pandas和Seborn制作圖形,?

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

數(shù)據(jù)可視化是一門(mén)通過(guò)將數(shù)據(jù)放在可視環(huán)境中來(lái)理解數(shù)據(jù)的學(xué)科,,這樣我們就會(huì)更加詳細(xì)的知道/了解那些隱藏在數(shù)據(jù)下的模式、趨勢(shì)和相關(guān)性,。

Python提供了多個(gè)很棒的圖形庫(kù),,其中包含許多不同的特性。無(wú)論你是想創(chuàng)建交互式的,、實(shí)時(shí)的還是高度定制的繪圖,,python都為你提供了一個(gè)優(yōu)秀的庫(kù)。

這里有一些流行的庫(kù),,以及對(duì)它們的相關(guān)概述:

Matplotlib:在眾多庫(kù)中相對(duì)基礎(chǔ),,'規(guī)矩'少(https:///)。

Pandas Visualization:易于使用的界面,,建立在Matplotlib上(https://pandas./pandas-docs/stable/visualization.html),。

Seaborn:操作難度較高,有很棒的默認(rèn)樣式(https://seaborn./),。

ggplot:基于R的ggplot2(http://ggplot./),。

Plotly:互動(dòng)性好(https:///python/)。

在本文中,,我們將學(xué)習(xí)如何使用Matplotlib,、Pandas visualization和Seaborn創(chuàng)建基本的圖,以及如何使用每個(gè)庫(kù)的一些特定特性,。本文將側(cè)重于語(yǔ)法,,而不是解釋圖,我將在另一篇博客文章中介紹這些圖,。

在以后的文章中,,我將介紹交互式繪圖工具,如Plotly,,它是在D3上構(gòu)建的,,也可以與JavaScript一起使用,。

導(dǎo)入數(shù)據(jù)集

在本文中,我們將使用兩個(gè)免費(fèi)的數(shù)據(jù)集,。即,,Iris(https://archive.ics./ml/datasets/iris)和Wine Reviews(https://www./zynicide/wine-reviews)數(shù)據(jù)集,我們可以使用panda read_csv方法加載該數(shù)據(jù)集,。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

Iris數(shù)據(jù)集

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

Wine Reviews數(shù)據(jù)集

Matplotlib

Matplotlib是最流行的python繪圖庫(kù),。它是一個(gè)底層庫(kù),,帶有類(lèi)似Matlab的接口,自由程度高,,可以編寫(xiě)更多代碼,。

安裝Matplotlib可以使用pip和conda。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

Matplotlib特別適合創(chuàng)建基本的圖形,如折線圖,、條形圖、直方圖等,。輸入:

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

散點(diǎn)圖

要在Matplotlib中創(chuàng)建散點(diǎn)圖,,可以使用scatter方法,,并且使用plt創(chuàng)建一個(gè)圖形和一個(gè)軸。所以我們可以給我們的圖像進(jìn)行標(biāo)記,。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

Matplotlib散點(diǎn)圖

我們可以通過(guò)在每個(gè)數(shù)據(jù)點(diǎn)上按其類(lèi)著色來(lái)賦予圖形更多的意義。這可以通過(guò)創(chuàng)建一個(gè)從類(lèi)映射到顏色的字典來(lái)實(shí)現(xiàn),,然后使用for循環(huán)來(lái)分散到每個(gè)點(diǎn),,并傳遞各自的顏色。

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

按類(lèi)著色的散點(diǎn)圖

折線圖

在Matplotlib中,,我們可以通過(guò)調(diào)用plot方法創(chuàng)建一個(gè)折線圖,。我們還可以在一個(gè)圖中繪制多個(gè)列,方法是遍歷我們想要的列,,并在相同的軸上繪制每個(gè)列,。

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

折線圖

柱狀圖

在Matplotlib中,,我們可以使用hist方法創(chuàng)建直方圖,。如果我們向它傳遞分類(lèi)數(shù)據(jù),比如wine-review數(shù)據(jù)集中的列,,它將自動(dòng)計(jì)算每類(lèi)發(fā)生的頻率,。

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

柱狀圖

條形圖

可以使用bar方法創(chuàng)建條形圖,。條形圖不會(huì)自動(dòng)計(jì)算類(lèi)別的頻率,,因此我們將使用panda value_counts函數(shù)來(lái)完成這一操作。條形圖對(duì)于沒(méi)有很多不同類(lèi)別(少于30個(gè))的分類(lèi)數(shù)據(jù)非常有用,,因?yàn)槿绻麤](méi)有條形圖,,分類(lèi)數(shù)據(jù)會(huì)變得非常混亂,。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

條形圖

Pandas Visualization

Panda是一個(gè)開(kāi)源的、高性能,、易于使用的庫(kù),,提供數(shù)據(jù)結(jié)構(gòu)(如dataframes)和數(shù)據(jù)分析工具(如本文中使用的可視化工具)。

Pandas Visualization使得從dataframe等中創(chuàng)建圖像變得非常容易,。它還具有比Matplotlib更高級(jí)的API,。換句話說(shuō),,對(duì)于相同的結(jié)果,我們需要的代碼更少,。

可以使用pip或conda安裝Panda,。

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

散點(diǎn)圖

要在panda中創(chuàng)建散點(diǎn)圖,,我們可以調(diào)用<dataset>.plot.scatter()并將兩個(gè)參數(shù)傳遞給它,即x列的名稱(chēng)和y列的名稱(chēng),。我們也可以選擇給它傳遞一個(gè)標(biāo)題,。

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

散點(diǎn)圖

正如你在圖像中看到的,,它會(huì)自動(dòng)將x和y標(biāo)簽設(shè)置為列名,。

折線圖

要在panda中創(chuàng)建一個(gè)線形圖,我們可以調(diào)用<dataframe>.plot.line(),。在Matplotlib中,,我們需要循環(huán)遍歷要繪制的每一列,而在panda中,,我們不需要這樣做,,因?yàn)樗鼤?huì)自動(dòng)繪制所有可用的數(shù)字列。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

折線圖

如果我們有一個(gè)以上的特征,,Panda會(huì)自動(dòng)為我們創(chuàng)建一個(gè)折線圖,正如上圖所示,。

柱狀圖

在Panda中,我們可以根據(jù)具體內(nèi)容創(chuàng)建直方圖,。沒(méi)有任何參數(shù)是必需的,,但是我們可以選擇性地傳遞一些參數(shù),比如bin大小,。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

柱狀圖

創(chuàng)建多個(gè)直方圖也非常容易,。

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

subplot參數(shù)指定我們希望為每個(gè)特性使用單獨(dú)的plot,,布局指定每行和每列的plot數(shù)量。

條形圖

要繪制柱狀圖,,我們可以使用plot.bar()方法,,但是在調(diào)用它之前,我們需要獲取數(shù)據(jù),。為此,,我們將首先使用value_count()方法計(jì)算事件數(shù),然后使用sort_index()方法從最小到最大排序,。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

垂直柱狀圖

使用plot.barh()方法制作水平條形圖也非常簡(jiǎn)單。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

水平條形圖

我們還可以繪制其他數(shù)據(jù),比如是出現(xiàn)的次數(shù),。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

葡萄酒價(jià)格最高的國(guó)家(平均)

在上面的例子中,,我們將數(shù)據(jù)按國(guó)家進(jìn)行分組,,然后取葡萄酒價(jià)格的平均值,并對(duì)其進(jìn)行排序,,繪制出平均葡萄酒價(jià)格最高的5個(gè)國(guó)家,。

Seaborn

Seaborn是一個(gè)基于Matplotlib的Python數(shù)據(jù)可視化庫(kù)。它為創(chuàng)建有吸引力的圖形提供了高級(jí)接口,。

Seaborn有很多東西可以提供,。在Matplotlib中,你可以在一行中創(chuàng)建需要幾十行代碼的圖形,。它的標(biāo)準(zhǔn)設(shè)計(jì)非常棒,,而且它還有一個(gè)用于處理panda dataframes的界面。

輸入:

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

散點(diǎn)圖

我們可以使用.scatterplot方法創(chuàng)建一個(gè)散點(diǎn)圖,就像Panda,我們需要把它的列名x和y數(shù)據(jù),但現(xiàn)在我們還需要把數(shù)據(jù)作為一個(gè)額外的參數(shù),因?yàn)槲覀儾皇侵苯诱{(diào)用函數(shù)的數(shù)據(jù),。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

散點(diǎn)圖

我們還可以使用hue參數(shù)通過(guò)類(lèi)突出顯示這些點(diǎn),這比Matplotlib中簡(jiǎn)單得多,。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

由類(lèi)著色的散點(diǎn)圖

折線圖

創(chuàng)建線形圖,,我們可以使用sns. lineplot方法,。需要的參數(shù)是數(shù)據(jù),在我們的示例中是Iris數(shù)據(jù)集中的四列數(shù)字,。我們也可以用sns.kdeplot方法對(duì)曲線的邊緣進(jìn)行四舍五入處理,,因此如果你的數(shù)據(jù)集中有很多離群值,這種方法會(huì)更清晰,。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

柱狀圖

直方圖

要在Seaborn中創(chuàng)建直方圖,我們使用sns.distplot方法,。我們需要將它傳遞到我們想要繪制的列中,,它會(huì)自己計(jì)算發(fā)生的事件。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

圖19:柱狀圖

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

圖20:直方圖

條形圖

在Seaborn中,可以使用sns.countplot創(chuàng)建條形圖,,并將數(shù)據(jù)傳遞給它,。

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

圖21:條形圖

其他圖

現(xiàn)在,,你已經(jīng)對(duì)Matplotlib、Panda可視化和Seaborn語(yǔ)法有了基本的了解,,接下來(lái)我將向你展示一些用于提取內(nèi)部?jī)?nèi)容的其他圖形類(lèi)型,。

大多數(shù)Seaborn是go to庫(kù),,因?yàn)樗母呒?jí)接口允許在幾行代碼中創(chuàng)建漂亮的圖形。

箱形圖

箱形圖是顯示五位數(shù)摘要的圖形化方法,。我們可以使用seaborns sns.boxplot創(chuàng)建box plot,,并將數(shù)據(jù)以及x和y列名傳遞給它(https://en./wiki/Five-number_summary)。

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

箱形圖

箱形圖,,就像柱狀圖一樣,只對(duì)少數(shù)類(lèi)別的數(shù)據(jù)非常有用,。

Heatmap

Heatmap是數(shù)據(jù)的圖形化表示,,其中矩陣中包含的各個(gè)值用顏色表示。Heatmap對(duì)于探索數(shù)據(jù)集中特征之間的相關(guān)性是非常完美的(https://en./wiki/Matrix_%28mathematics%29),。

要獲得數(shù)據(jù)集內(nèi)特征的相關(guān)性,,我們可以調(diào)用<dataset>.corr(),這是一個(gè)來(lái)自panda dataframe方法,,會(huì)用到相關(guān)矩陣(https://www./what-is-a-correlation-matrix/),。

我們現(xiàn)在可以使用Matplotlib或Seaborn來(lái)創(chuàng)建Heatmap。

Matplotlib:

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

圖23:沒(méi)有注釋的Heatmap

要在Heatmap中添加注釋?zhuān)覀冃枰砑觾蓚€(gè)for循環(huán):

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

圖24:帶有注釋的Heatmap

Seaborn使得創(chuàng)建Heatmap和添加注釋更加容易:

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

Faceting

Faceting是將數(shù)據(jù)變量分解成多個(gè)子圖,,并將這些子圖組合成單個(gè)圖形的操作。

如果想快速瀏覽數(shù)據(jù)集,,F(xiàn)aceting非常有用,。

要在Seaborn中使用faceting,我們可以使用FacetGrid,。首先,,我們需要定義FacetGrid,并將數(shù)據(jù)以及用于拆分?jǐn)?shù)據(jù)的行或列傳遞給它。然后我們需要調(diào)用FacetGrid對(duì)象上的函數(shù),,并定義要使用的繪圖類(lèi)型以及要繪制的列,。

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

Facet-plot

你可以讓圖比上面的例子更大更復(fù)雜,。你可以在這里找到一些例子(https://seaborn./generated/seaborn.FacetGrid.html),。

Pairplot

最后,我將向你展示Seaborns pairplot和panda scatter_matrix,,它們使你能夠在數(shù)據(jù)集中繪制成對(duì)關(guān)系網(wǎng)格,。

學(xué)好數(shù)據(jù)可視化,讓你在眾多應(yīng)聘者中脫穎而出,!

圖27:Pairplot

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出,!

圖28:散點(diǎn)矩陣

正如你在上面的圖像中看到的。圖的對(duì)角線用直方圖填充,,其他的圖是散點(diǎn)圖,。

結(jié)論

數(shù)據(jù)可視化是一門(mén)通過(guò)將數(shù)據(jù)放在可視環(huán)境中來(lái)理解數(shù)據(jù)的學(xué)科,這樣可能無(wú)法檢測(cè)到的模式,、趨勢(shì)和相關(guān)性就可以暴露出來(lái),。

Python提供了多個(gè)很棒的圖形庫(kù),其中包含許多不同的特性,。在本文中,,我們研究了Matplotlib、Pandas和Seborn,。

本文中涉及的代碼可以作為Github存儲(chǔ)庫(kù)使用:https://github.com/TannerGilbert/Articles/tree/master/Introduction%20to%20Data%20Visualization%20in%C2%A0Python

學(xué)好數(shù)據(jù)可視化,,讓你在眾多應(yīng)聘者中脫穎而出!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多