国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Python數(shù)據(jù)可視化的10種技能

今天我來給你講講Python的可視化技術(shù)。

如果你想要用Python進(jìn)行數(shù)據(jù)分析,就需要在項(xiàng)目初期開始進(jìn)行探索性的數(shù)據(jù)分析,這樣方便你對(duì)數(shù)據(jù)有一定的了解。其中最直觀的就是采用數(shù)據(jù)可視化技術(shù),這樣,數(shù)據(jù)不僅一目了然,而且更容易被解讀。同樣在數(shù)據(jù)分析得到結(jié)果之后,我們還需要用到可視化技術(shù),把最終的結(jié)果呈現(xiàn)出來。

可視化視圖都有哪些?

按照數(shù)據(jù)之間的關(guān)系,我們可以把可視化視圖劃分為4類,它們分別是比較、聯(lián)系、構(gòu)成和分布。我來簡(jiǎn)單介紹下這四種關(guān)系的特點(diǎn):

比較:比較數(shù)據(jù)間各類別的關(guān)系,或者是它們隨著時(shí)間的變化趨勢(shì),比如折線圖;

聯(lián)系:查看兩個(gè)或兩個(gè)以上變量之間的關(guān)系,比如散點(diǎn)圖;

構(gòu)成:每個(gè)部分占整體的百分比,或者是隨著時(shí)間的百分比變化,比如餅圖;

分布:關(guān)注單個(gè)變量,或者多個(gè)變量的分布情況,比如直方圖。

同樣,按照變量的個(gè)數(shù),我們可以把可視化視圖劃分為單變量分析和多變量分析。

  • 單變量分析指的是一次只關(guān)注一個(gè)變量。比如我們只關(guān)注“身高”這個(gè)變量,來看身高的取值分布,而暫時(shí)忽略其他變量。
  • 多變量分析可以讓你在一張圖上可以查看兩個(gè)以上變量的關(guān)系。比如“身高”和“年齡”,你可以理解是同一個(gè)人的兩個(gè)參數(shù),這樣在同一張圖中可以看到每個(gè)人的“身高”和“年齡”的取值,從而分析出來這兩個(gè)變量之間是否存在某種聯(lián)系。

可視化的視圖可以說是分門別類,多種多樣,今天我主要介紹常用的10種視圖,包括了散點(diǎn)圖、折線圖、直方圖、條形圖、箱線圖、餅圖、熱力圖、蜘蛛圖、二元變量分布、成對(duì)關(guān)系。

散點(diǎn)圖

散點(diǎn)圖的英文叫做scatter plot,它將兩個(gè)變量的值顯示在二維坐標(biāo)中,非常適合展示兩個(gè)變量之間的關(guān)系。當(dāng)然,除了二維的散點(diǎn)圖,我們還有三維的散點(diǎn)圖。

我在上一講中給你簡(jiǎn)單介紹了下Matplotlib這個(gè)工具,在Matplotlib中,我們經(jīng)常會(huì)用到pyplot這個(gè)工具包,它包括了很多繪圖函數(shù),類似Matlab的繪圖框架。在使用前你需要進(jìn)行引用:

import matplotlib.pyplot as plt

在工具包引用后,畫散點(diǎn)圖,需要使用plt.scatter(x, y, marker=None)函數(shù)。x、y 是坐標(biāo),marker代表了標(biāo)記的符號(hào)。比如“x”、“>”或者“o”。選擇不同的marker,呈現(xiàn)出來的符號(hào)樣式也會(huì)不同,你可以自己試一下。

下面三張圖分別對(duì)應(yīng)“x”“>”和“o”。

除了Matplotlib外,你也可以使用Seaborn進(jìn)行散點(diǎn)圖的繪制。在使用Seaborn前,也需要進(jìn)行包引用:

import seaborn as sns

在引用seaborn工具包之后,就可以使用seaborn工具包的函數(shù)了。如果想要做散點(diǎn)圖,可以直接使用sns.jointplot(x, y, data=None, kind='scatter')函數(shù)。其中x、y是data中的下標(biāo)。data就是我們要傳入的數(shù)據(jù),一般是DataFrame類型。kind這類我們?nèi)catter,代表散點(diǎn)的意思。當(dāng)然kind還可以取其他值,這個(gè)我在后面的視圖中會(huì)講到,不同的kind代表不同的視圖繪制方式。

好了,讓我們來模擬下,假設(shè)我們的數(shù)據(jù)是隨機(jī)的1000個(gè)點(diǎn)。

我們運(yùn)行一下這個(gè)代碼,就可以看到下面的視圖(第一張圖為Matplotlib繪制的,第二張圖為Seaborn繪制的)。其實(shí)你能看到Matplotlib和Seaborn的視圖呈現(xiàn)還是有差別的。Matplotlib默認(rèn)情況下呈現(xiàn)出來的是個(gè)長(zhǎng)方形。而Seaborn呈現(xiàn)的是個(gè)正方形,而且不僅顯示出了散點(diǎn)圖,還給了這兩個(gè)變量的分布情況。

Matplotlib繪制:

Seaborn繪制:

擴(kuò)展閱讀:

數(shù)據(jù)可視化:掌握數(shù)據(jù)領(lǐng)域的萬金油技能

折線圖

折線圖可以用來表示數(shù)據(jù)隨著時(shí)間變化的趨勢(shì)。

在Matplotlib中,我們可以直接使用plt.plot函數(shù),當(dāng)然需要提前把數(shù)據(jù)按照X軸的大小進(jìn)行排序,要不畫出來的折線圖就無法按照X軸遞增的順序展示。

在Seaborn中,我們使用sns.lineplot (x, y, data=None)函數(shù)。其中x、y是data中的下標(biāo)。data就是我們要傳入的數(shù)據(jù),一般是DataFrame類型。

這里我們?cè)O(shè)置了x、y的數(shù)組。x數(shù)組代表時(shí)間(年),y數(shù)組我們隨便設(shè)置幾個(gè)取值。下面是詳細(xì)的代碼。

然后我們分別用Matplotlib和Seaborn進(jìn)行畫圖,可以得到下面的圖示。你可以看出這兩個(gè)圖示的結(jié)果是完全一樣的,只是在seaborn中標(biāo)記了x和y軸的含義。

直方圖

直方圖是比較常見的視圖,它是把橫坐標(biāo)等分成了一定數(shù)量的小區(qū)間,這個(gè)小區(qū)間也叫作“箱子”,然后在每個(gè)“箱子”內(nèi)用矩形條(bars)展示該箱子的箱子數(shù)(也就是y值),這樣就完成了對(duì)數(shù)據(jù)集的直方圖分布的可視化。

在Matplotlib中,我們使用plt.hist(x, bins=10)函數(shù),其中參數(shù)x是一維數(shù)組,bins代表直方圖中的箱子數(shù)量,默認(rèn)是10。

在Seaborn中,我們使用sns.distplot(x, bins=10, kde=True)函數(shù)。其中參數(shù)x是一維數(shù)組,bins代表直方圖中的箱子數(shù)量,kde代表顯示核密度估計(jì),默認(rèn)是True,我們也可以把kde設(shè)置為False,不進(jìn)行顯示。核密度估計(jì)是通過核函數(shù)幫我們來估計(jì)概率密度的方法。

這是一段繪制直方圖的代碼。

我們創(chuàng)建一個(gè)隨機(jī)的一維數(shù)組,然后分別用Matplotlib和Seaborn進(jìn)行直方圖的顯示,結(jié)果如下,你可以看出,沒有任何差別,其中最后一張圖就是kde默認(rèn)為Ture時(shí)的顯示情況。

熱力圖

熱力圖,英文叫heat map,是一種矩陣表示方法,其中矩陣中的元素值用顏色來代表,不同的顏色代表不同大小的值。通過顏色就能直觀地知道某個(gè)位置上數(shù)值的大小。另外你也可以將這個(gè)位置上的顏色,與數(shù)據(jù)集中的其他位置顏色進(jìn)行比較。

熱力圖是一種非常直觀的多元變量分析方法。

我們一般使用Seaborn中的sns.heatmap(data)函數(shù),其中data代表需要繪制的熱力圖數(shù)據(jù)。

這里我們使用Seaborn中自帶的數(shù)據(jù)集flights,該數(shù)據(jù)集記錄了1949年到1960年期間,每個(gè)月的航班乘客的數(shù)量。

通過seaborn的heatmap函數(shù),我們可以觀察到不同年份,不同月份的乘客數(shù)量變化情況,其中顏色越淺的代表乘客數(shù)量越多,如下圖所示:

成對(duì)關(guān)系

如果想要探索數(shù)據(jù)集中的多個(gè)成對(duì)雙變量的分布,可以直接采用sns.pairplot函數(shù)。它會(huì)同時(shí)展示出DataFrame中每對(duì)變量的關(guān)系,另外在對(duì)角線上,你能看到每個(gè)變量自身作為單變量的分布情況。它可以說是探索性分析中的常用函數(shù),可以很快幫我們理解變量對(duì)之間的關(guān)系。

pairplot函數(shù)的使用,就好像我們對(duì)DataFrame使用describe函數(shù)一樣方便,是數(shù)據(jù)探索中的常用函數(shù)。

這里我們使用Seaborn中自帶的iris數(shù)據(jù)集,這個(gè)數(shù)據(jù)集也叫鳶尾花數(shù)據(jù)集。鳶尾花可以分成Setosa、Versicolour和Virginica三個(gè)品種,在這個(gè)數(shù)據(jù)集中,針對(duì)每一個(gè)品種,都有50個(gè)數(shù)據(jù),每個(gè)數(shù)據(jù)中包括了4個(gè)屬性,分別是花萼長(zhǎng)度、花萼寬度、花瓣長(zhǎng)度和花瓣寬度。通過這些數(shù)據(jù),需要你來預(yù)測(cè)鳶尾花卉屬于三個(gè)品種中的哪一種。

這里我們用seaborn中的pairplot函數(shù)來對(duì)數(shù)據(jù)集中的多個(gè)雙變量的關(guān)系進(jìn)行探索,如下圖所示。從圖上你能看出,一共有sepal_length、sepal_width、petal_length和petal_width4個(gè)變量,它們分別是花萼長(zhǎng)度、花萼寬度、花瓣長(zhǎng)度和花瓣寬度。

下面這張圖相當(dāng)于這4個(gè)變量?jī)蓛芍g的關(guān)系。比如矩陣中的第一張圖代表的就是花萼長(zhǎng)度自身的分布圖,它右側(cè)的這張圖代表的是花萼長(zhǎng)度與花萼寬度這兩個(gè)變量之間的關(guān)系。

關(guān)于本次Python可視化的學(xué)習(xí),我希望你能掌握:

視圖的分類,以及可以從哪些維度對(duì)它們進(jìn)行分類;

十種常見視圖的概念,以及如何在Python中進(jìn)行使用,都需要用到哪些函數(shù);

需要自己動(dòng)手跑一遍案例中的代碼,體驗(yàn)下Python數(shù)據(jù)可視化的過程。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python 數(shù)據(jù)可視化,常用看這一篇就夠了
六種數(shù)據(jù)分析的基本可視化
如何使用Seaborn進(jìn)行探索性數(shù)據(jù)分析
用Seaborn繪制圖表
Python Seaborn綜合指南,成為數(shù)據(jù)可視化專家
Py之seaborn:seaborn庫的簡(jiǎn)介、安裝、使用方法之詳細(xì)攻略
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服