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

Python+Seaborn繪制分布圖的示例詳解

 更新時(shí)間:2022年05月28日 14:09:14   作者:數(shù)據(jù)STUDIO  
這篇文章我們將介紹10個(gè)示例,從而幫助大家掌握如何使用Python中的Seaborn庫來創(chuàng)建圖表。文中示例代碼講解詳細(xì),感興趣的可以了解一下

前言

在本文中,我們將介紹10個(gè)示例,以掌握如何使用用于Python的Seaborn庫創(chuàng)建圖表。

任何數(shù)據(jù)產(chǎn)品的第一步都應(yīng)該是理解原始數(shù)據(jù)。對(duì)于成功和高效的產(chǎn)品,這一步驟占據(jù)了整個(gè)工作流程的很大一部分。

有幾種方法用于理解和探索數(shù)據(jù)。其中之一是創(chuàng)建數(shù)據(jù)可視化。它們幫助我們探索和解釋數(shù)據(jù)。

通過創(chuàng)建適當(dāng)和設(shè)計(jì)良好的可視化,我們可以發(fā)現(xiàn)數(shù)據(jù)中的底層結(jié)構(gòu)和關(guān)系。

分布區(qū)在數(shù)據(jù)分析中起著至關(guān)重要的作用。它們幫助我們檢測(cè)異常值和偏態(tài),或獲得集中趨勢(shì)(平均值、中值和模態(tài))度量的概述。

對(duì)于示例,我們將使用Kaggle上可用的墨爾本住房數(shù)據(jù)集中的一個(gè)小樣本。

我們從導(dǎo)入庫并將數(shù)據(jù)集讀入Pandas數(shù)據(jù)幀開始。

import?pandas?as?pd?
import?seaborn?as?sns?
sns.set(style="darkgrid",?font_scale=1.2)?
df?=?pd.read_csv(?
??"/content/melb_housing.csv",??
??usecols=["Regionname",?"Type",?"Rooms",?"Distance",?"Price"]?
)?
df.head()

該數(shù)據(jù)集包含了墨爾本房屋的一些特征及其價(jià)格。

Seaborn的離散函數(shù)允許創(chuàng)建3種不同類型的分布區(qū),分別是:

  • 柱狀圖
  • Kde(核密度估計(jì))圖
  • Ecdf圖

我們只需要調(diào)整kind參數(shù)來選擇plot的類型。

示例 1

第一個(gè)例子是創(chuàng)建一個(gè)基本直方圖。它將連續(xù)變量的取值范圍劃分為離散的箱子,并顯示每個(gè)箱子中有多少個(gè)值。

sns.displot(?
??data=df,?
??x="Price",?
??kind="hist",?
??aspect=1.4?
)

我們將df的名稱傳遞給數(shù)據(jù)參數(shù)。參數(shù)x接受要繪制的列名。aspect參數(shù)調(diào)整大小的寬高比。它也可以改變高度。

示例 2

在第一個(gè)例子中,我們可以清楚地看到價(jià)格欄中有一些異常值。柱狀圖在右邊有一條長尾,這表明價(jià)格非常高的房子很少。

減少這種異常值影響的一種方法是對(duì)值取對(duì)數(shù)。displot函數(shù)可以使用log_scale參數(shù)執(zhí)行此操作。

sns.displot(?
??data=df,?
??x="Price",?
??kind="hist",?
??aspect=1.4,?
??log_scale=10?
)

價(jià)格以10的冪表示?,F(xiàn)在我們對(duì)房價(jià)的分布有了一個(gè)更好的概述。

示例 3

我們還可以調(diào)整直方圖中的箱數(shù)量。在某些情況下,最好使用較少的箱數(shù)量,這樣我們就可以得到一個(gè)更結(jié)構(gòu)化的概述。

用于此調(diào)整的參數(shù)是box。

sns.displot(?
??data=df,?
??x="Price",?
??kind="hist",?
??aspect=1.4,?
??log_scale=10,?
??bins=20?
)

示例 4

數(shù)據(jù)集還包含分類變量。例如,類型列有3個(gè)類別,分別是h(房屋)、t(聯(lián)排房屋)和u(單位)。我們可能需要分別檢查每款的分布情況。

一種選擇是在相同的可視化中用不同的顏色顯示它們。我們只需要將列的名稱傳遞給hue參數(shù)。

sns.displot(?
??data=df,?
??x="Price",?
??hue="Type",?
??kind="hist",?
??aspect=1.4,?
??log_scale=10,?
??bins=20?
)

這個(gè)圖為我們提供了2條信息:

  • 每個(gè)類別的大小與房屋的數(shù)量有關(guān)。h類是最大的一類。
  • 每類房屋的價(jià)格分布。

示例 5

另一個(gè)檢查每個(gè)類別分布的選項(xiàng)是創(chuàng)建單獨(dú)的子圖。我們可以對(duì)這個(gè)任務(wù)使用col或row參數(shù)。給定列中的每個(gè)類別都有一個(gè)子圖。

sns.displot(?
??data=df,?
??x="Price",?
??col="Type",?
??kind="hist",?
??aspect=1.4,?
??log_scale=10,?
??bins=20?
)

例子 6

displot函數(shù)還允許生成二維直方圖。因此,我們得到了關(guān)于兩列中值的觀察值(即行)分布的概述。

我們使用價(jià)格和距離列創(chuàng)建一個(gè)。我們只是將列名傳遞給x和y參數(shù)。

sns.displot(?
??data=df,?
??x="Price",?
??y="Distance",?
??col="Type",?
??kind="hist",?
??height=5,?
??aspect=1.2,?
??log_scale=(10,0),?
??bins=20?
)

較暗的區(qū)域密度更大,所以它們包含了更多的觀測(cè)數(shù)據(jù)。兩列看起來都是正態(tài)分布,因?yàn)槊芗膮^(qū)域在中心。

你可能已經(jīng)注意到,我們使用了一個(gè)元組作為log_scale參數(shù)的參數(shù)。因此,我們可以為每個(gè)列傳遞不同的比例。

例子 7

Kde圖還可以用于可視化變量的分布。它們和直方圖很相似。然而,kde圖使用連續(xù)的概率密度曲線來表示分布,而不是使用離散的箱。

kind參數(shù)設(shè)置為“kde”,以生成kde圖。

sns.displot(?
??data=df,?
??x="Price",?
??kind="kde",?
??aspect=1.4,?
??log_scale=10?
)

示例 8

與直方圖類似,可以為不同的類別分別繪制kde圖。我們的數(shù)據(jù)集包含房屋的區(qū)域信息。我們看看不同地區(qū)的價(jià)格變化。

sns.displot(?
??data=df,?
??x="Price",?
??hue="Regionname",?
??kind="kde",?
??height=6,?
??aspect=1.4,?
??log_scale=10?
)

南方大都市區(qū)的平均房價(jià)似乎最高。

示例 9

另一種檢查變量分布的方法是使用ecdf圖。它表示低于給定列中每個(gè)唯一值的觀察值的比例或計(jì)數(shù)。

這是一種可視化的累計(jì)和。因此,我們能夠看到更密集的值范圍。

sns.displot(?
??data=df,?
??x="Distance",?
??kind="ecdf",?
??height=6,?
??aspect=1.4,?
??stat="count"?
)

曲線斜率高的值范圍有更多的觀測(cè)值。例如,我們沒有很多房子的距離超過30。與此相反,在10到15的距離范圍內(nèi)有很多房子。

示例10

ecdf圖也支持hue、col和row參數(shù)。因此,我們可以在一個(gè)列中區(qū)分不同類別之間的分布。

sns.displot(?
??data=df,?
??x="Distance",?
??kind="ecdf",?
??hue="Type",?
??height=6,?
??aspect=1.4,?
??stat="count"?
)

對(duì)于數(shù)據(jù)分析或機(jī)器學(xué)習(xí)任務(wù),了解變量(即特征)的分布是非常重要的。我們?nèi)绾翁幚斫o定的任務(wù)可能取決于分布。

在這篇文章中,我們看到了如何使用Seaborn的displot函數(shù)來分析價(jià)格和距離欄的分布。

以上就是Python+Seaborn繪制分布圖的示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Python Seaborn分布圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python實(shí)現(xiàn)獲取Ip歸屬地等信息

    python實(shí)現(xiàn)獲取Ip歸屬地等信息

    本文給大家簡(jiǎn)單介紹了下如何使用Python實(shí)現(xiàn)獲取IP歸屬地信息的方法和代碼,非常的實(shí)用,有需要的小伙伴可以參考下
    2016-08-08
  • python列表:開始、結(jié)束、步長值實(shí)例

    python列表:開始、結(jié)束、步長值實(shí)例

    這篇文章主要介紹了python列表:開始、結(jié)束、步長值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python類中__init__()?和self的詳細(xì)解析

    Python類中__init__()?和self的詳細(xì)解析

    self和__init__的語法學(xué)過Python的都清楚,但是靠死記硬背來迫使自己理解并不是個(gè)好辦法,下面這篇文章主要給大家介紹了關(guān)于Python類中__init__()?和self的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Python 實(shí)現(xiàn)取多維數(shù)組第n維的前幾位

    Python 實(shí)現(xiàn)取多維數(shù)組第n維的前幾位

    今天小編就為大家分享一篇Python 實(shí)現(xiàn)取多維數(shù)組第n維的前幾位,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python將列表中的元素轉(zhuǎn)化為數(shù)字并排序的示例

    Python將列表中的元素轉(zhuǎn)化為數(shù)字并排序的示例

    今天小編就為大家分享一篇Python將列表中的元素轉(zhuǎn)化為數(shù)字并排序的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python中l(wèi)strip()截掉字符的實(shí)例講解

    python中l(wèi)strip()截掉字符的實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于python中l(wèi)strip()截掉字符的實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-05-05
  • Python多進(jìn)程原理與用法分析

    Python多進(jìn)程原理與用法分析

    這篇文章主要介紹了Python多進(jìn)程原理與用法,結(jié)合實(shí)例形式分析了Python多進(jìn)程原理、開啟使用進(jìn)程、進(jìn)程隊(duì)列、進(jìn)程池等相關(guān)概念與使用方法,需要的朋友可以參考下
    2018-08-08
  • Python操作qml對(duì)象過程詳解

    Python操作qml對(duì)象過程詳解

    這篇文章主要介紹了Python操作qml對(duì)象過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 淺談Python的條件判斷語句if/else語句

    淺談Python的條件判斷語句if/else語句

    這篇文章主要介紹了Python的條件判斷語句if/else語句,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python Dataframe常見索引方式詳解

    Python Dataframe常見索引方式詳解

    這篇文章主要介紹了Python Dataframe常見索引方式詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評(píng)論