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

Matplotlib實(shí)戰(zhàn)之直方圖繪制詳解

 更新時間:2023年08月21日 14:03:41   作者:databook  
直方圖,又稱質(zhì)量分布圖,用于表示數(shù)據(jù)的分布情況,是一種常見的統(tǒng)計(jì)圖表,這篇文章主要為大家詳細(xì)介紹了如何使用Matplotlib繪制直方圖,需要的可以參考下

直方圖,又稱質(zhì)量分布圖,用于表示數(shù)據(jù)的分布情況,是一種常見的統(tǒng)計(jì)圖表。

一般用橫軸表示數(shù)據(jù)區(qū)間,縱軸表示分布情況,柱子越高,則落在該區(qū)間的數(shù)量越大。

構(gòu)建直方圖時,首先首先就是對數(shù)據(jù)劃分區(qū)間,通俗的說即是劃定有幾根柱子(比如,1980年~2020年的數(shù)據(jù),每5年劃分一個區(qū)間的話,共8個區(qū)間)。

接著,對落在每個區(qū)間的數(shù)值進(jìn)行統(tǒng)計(jì)計(jì)算, 最后,繪制矩形,高度由每個區(qū)間的統(tǒng)計(jì)結(jié)果決定。

直方圖柱狀圖看似相像,實(shí)則完全不同。

前者反映數(shù)據(jù)分布情況,后者則不具備此功能,只能對數(shù)值進(jìn)行比較。

也就是說,柱狀圖是離散的因此柱子間有空隙;但直方圖的數(shù)據(jù)是連續(xù)的數(shù)值變量,因此柱子間是沒有空隙的。

1. 主要元素

直方圖的主要元素包括:

  • 橫軸:表示數(shù)據(jù)的取值范圍或分組區(qū)間。
  • 縱軸:表示該區(qū)間內(nèi)數(shù)據(jù)的頻率或數(shù)量。
  • 柱狀條高度:表示每個區(qū)間內(nèi)數(shù)據(jù)的頻率或數(shù)量,柱狀條的高度代表該區(qū)間內(nèi)數(shù)據(jù)的數(shù)量多少。
  • 柱狀條面積:表示不同區(qū)間內(nèi)數(shù)據(jù)的總和,有時候面積是無意義的,只看高度。

2. 適用的場景

直方圖適用于以下分析場景:

  • 數(shù)據(jù)分布分析:直方圖可以幫助我們了解數(shù)據(jù)的分布情況,包括數(shù)據(jù)的中心趨勢、離散程度和偏斜程度等。通過觀察直方圖的形狀,我們可以判斷數(shù)據(jù)是正態(tài)分布、偏態(tài)分布還是有其他特殊的分布形式。
  • 異常檢測:直方圖可以幫助我們識別出數(shù)據(jù)中的異常情況。通過觀察直方圖中的離群點(diǎn)或異常值,我們可以發(fā)現(xiàn)數(shù)據(jù)中的異常情況,從而進(jìn)行數(shù)據(jù)清洗和異常檢測。
  • 數(shù)據(jù)預(yù)處理:直方圖可以指導(dǎo)我們選擇合適的數(shù)據(jù)預(yù)處理方法。通過觀察直方圖,我們可以了解數(shù)據(jù)的分布范圍和形態(tài),從而決定是否需要對數(shù)據(jù)進(jìn)行歸一化、標(biāo)準(zhǔn)化或?qū)?shù)變換等預(yù)處理操作。
  • 數(shù)據(jù)比較:直方圖可以幫助我們比較不同數(shù)據(jù)集之間的差異。通過繪制多個直方圖并進(jìn)行對比,我們可以觀察到不同數(shù)據(jù)集之間的分布差異,從而進(jìn)行數(shù)據(jù)分析和解釋。

3. 不適用的場景

直方圖可能不適用于以下分析場景:

  • 時間序列分析:直方圖通常用于表示數(shù)據(jù)的分布情況,而對于時間序列數(shù)據(jù),直方圖無法展示數(shù)據(jù)隨時間變化的趨勢和模式。
  • 數(shù)據(jù)關(guān)聯(lián)分析:直方圖無法直接展示數(shù)據(jù)之間的相關(guān)性或關(guān)聯(lián)性。
  • 多維數(shù)據(jù)分析:直方圖主要適用于一維數(shù)據(jù)的分析,無法直接展示多維數(shù)據(jù)的分布情況。
  • 數(shù)據(jù)模型擬合:直方圖可以展示數(shù)據(jù)的分布情況,但無法直接擬合數(shù)據(jù)的概率分布或模型。
  • 數(shù)據(jù)聚類分析:直方圖無法直接展示數(shù)據(jù)的聚類情況,無法將數(shù)據(jù)點(diǎn)分組或分類。

4. 分析實(shí)戰(zhàn)

本次準(zhǔn)備用直方圖統(tǒng)計(jì)下某個年度我們進(jìn)出口總額的分布情況。

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

這次選用國家統(tǒng)計(jì)局公開的對外經(jīng)濟(jì)貿(mào)易數(shù)據(jù):databook.top/nation/A06

fp = "d:/share/A06050101.csv"
df = pd.read_csv(fp)
df

4.2. 數(shù)據(jù)清理

數(shù)據(jù)中有很多年份的數(shù)據(jù)為0,也就是有很多的缺失值。

所以,只選取了2021年亞洲各國的進(jìn)出口總額數(shù)據(jù)來分析,

其中有2個數(shù)據(jù)在分析繪圖前需要清理,一個是中國同亞洲其他國家(地區(qū))進(jìn)出口總額(萬美元),與其他值差別很大,所以清理;另一個是中國同亞洲進(jìn)出口總額(萬美元),這是個匯總數(shù)據(jù),也清理了。

data = df[(df["sj"] == 2021) & 
        (df["zb"] != "A060501011E") & 
        (df["zb"] != "A0605010101")].copy()
#原始數(shù)值太大,單位換成(億美元)
data["value"] = data["value"] / 10000
data.head()

一共有48條數(shù)據(jù),這是前5條。

4.3. 分析結(jié)果可視化

繪制直方圖比較簡單,核心是兩個參數(shù):

  • **x **參數(shù):一個列表,也就是這次示例中就是各個亞洲國家的進(jìn)出口總額
  • **bins **參數(shù):設(shè)置數(shù)據(jù)分成幾組,直方圖會統(tǒng)計(jì)每個分組中的數(shù)據(jù)個數(shù)
plt.hist(data["value"].tolist(), bins=10)
plt.title("中國與亞洲各國進(jìn)出口總額(億美元) 分布")
plt.show()

上面繪圖時,分了10個組。(可以試試調(diào)整分組個數(shù),看看不同的圖形效果)

從圖中可以看出,2021年,亞洲各國與中國的進(jìn)出口總額在 0~300(億美元)左右的國家最多,有30多個;

還有2,3個國家與中國的進(jìn)出口總額甚至超過了3500億美元。

以上就是Matplotlib實(shí)戰(zhàn)之直方圖繪制詳解的詳細(xì)內(nèi)容,更多關(guān)于Matplotlib直方圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python將運(yùn)行結(jié)果導(dǎo)出為CSV格式的兩種常用方法

    Python將運(yùn)行結(jié)果導(dǎo)出為CSV格式的兩種常用方法

    這篇文章主要給大家介紹了關(guān)于Python將運(yùn)行結(jié)果導(dǎo)出為CSV格式的兩種常用方法,Python生成(導(dǎo)出)csv文件其實(shí)很簡單,我們一般可以用csv模塊或者pandas庫來實(shí)現(xiàn),需要的朋友可以參考下
    2023-07-07
  • Python中的Xpath和lxml庫的使用詳解

    Python中的Xpath和lxml庫的使用詳解

    這篇文章主要介紹了Python中的Xpath和lxml庫的使用詳解,XPath即 XML路徑語言,它是一門在 XML 文檔中查找信息的語言,最初被用來搜尋 XML 文檔,同時它也適用于搜索 HTML 文檔,因此,在爬蟲過程中可以使用 XPath 來提取相應(yīng)的數(shù)據(jù),需要的朋友可以參考下
    2023-12-12
  • python獲取全國最新省市區(qū)數(shù)據(jù)并存入表實(shí)例代碼

    python獲取全國最新省市區(qū)數(shù)據(jù)并存入表實(shí)例代碼

    我們在開發(fā)中經(jīng)常會遇到獲取省市區(qū)等信息的時候,下面這篇這篇文章主要給大家介紹了關(guān)于python獲取全國最新省市區(qū)數(shù)據(jù)并存入表的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • python接口調(diào)用已訓(xùn)練好的caffe模型測試分類方法

    python接口調(diào)用已訓(xùn)練好的caffe模型測試分類方法

    今天小編就為大家分享一篇python接口調(diào)用已訓(xùn)練好的caffe模型測試分類方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python-while 計(jì)算100以內(nèi)奇數(shù)和的方法

    Python-while 計(jì)算100以內(nèi)奇數(shù)和的方法

    今天小編就為大家分享一篇Python-while 計(jì)算100以內(nèi)奇數(shù)和的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Django事務(wù)transaction的使用以及多個裝飾器問題

    Django事務(wù)transaction的使用以及多個裝飾器問題

    這篇文章主要介紹了Django事務(wù)transaction的使用以及多個裝飾器問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python中緩存lru_cache的基本介紹和講解

    Python中緩存lru_cache的基本介紹和講解

    緩存是一種將定量數(shù)據(jù)加以保存以備迎合后續(xù)請求的處理方式,旨在加快數(shù)據(jù)的檢索速度,下面這篇文章主要給大家介紹了關(guān)于Python中緩存lru_cache的基本介紹和講解的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • python如何修改PYTHONPATH環(huán)境變量

    python如何修改PYTHONPATH環(huán)境變量

    這篇文章主要介紹了python如何修改PYTHONPATH環(huán)境變量問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python3 循環(huán)語句(for、while、break、range等)

    Python3 循環(huán)語句(for、while、break、range等)

    這篇文章主要介紹了Python3 循環(huán)語句(for、while、break、range等),大家把下面的文章看完就基本上就可以了解了python的循環(huán)實(shí)現(xiàn)方式了
    2017-11-11
  • Python selenium如何設(shè)置等待時間

    Python selenium如何設(shè)置等待時間

    這篇文章主要為大家詳細(xì)介紹了Python selenium如何設(shè)置等待時間,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評論