你想知道如何在 Python 中生成直方圖嗎?在這篇文章中,我將向你展示如何操作。 數(shù)值數(shù)據(jù)的分布可以用直方圖表示(Karl Pearson 引入了這個(gè)術(shù)語)。直方圖是數(shù)據(jù)的可視化表示,它使用不同高度的條形圖,其中每個(gè)條形圖將數(shù)字劃分為不同的范圍??捎糜谠?Python 中繪制直方圖的兩個(gè)模塊是 Matplotlib 和 Pandas。 讓我們了解如何創(chuàng)建直方圖! 什么是直方圖?直方圖是數(shù)據(jù)分析中非常重要的圖形。直方圖是一種使用不同高度的條顯示數(shù)字?jǐn)?shù)據(jù)集分布的方法。更高的條形表明更多數(shù)據(jù)落在該特定范圍內(nèi)。 本文的目的是讓你熟悉直方圖 我們將從使用 Python 和 Matplotlib 繪制直方圖開始。Matplotlib 是一個(gè)可用于生成圖形和圖表的庫。 如何使用 NumPy 為直方圖生成數(shù)據(jù)?在繼續(xù)之前,讓我們創(chuàng)建一些虛擬數(shù)據(jù),我們將使用這些數(shù)據(jù)通過 NumPy 繪制直方圖。 NumPy 是一個(gè)可以處理多維數(shù)組的 Python 庫。 我之前的文章有詳細(xì)介紹Numpy跟Matplotlib: 要安裝 NumPy,請以管理員身份打開命令提示符。然后鍵入以下將在你的計(jì)算機(jī)上安裝 NumPy 的命令。 pip install numpy 同樣,你可以使用以下 Pip 命令安裝 Matplotlib:
導(dǎo)入 NumPy 后,你可以使用 NumPy 數(shù)組生成數(shù)據(jù)。以下代碼從正態(tài)高斯分布中生成隨機(jī)樣本。 import numpy as np # 創(chuàng)建虛擬數(shù)據(jù)點(diǎn)data = np.random.normal( 170 , 10 , 250 ) print( data ) 輸出是: 你已使用 NumPy 生成示例數(shù)據(jù)。 現(xiàn)在我們將繼續(xù)使用這些數(shù)據(jù)繪制直方圖。 如何使用 Python 和 Matplotlib 繪制直方圖?我們已經(jīng)使用 NumPy 生成了數(shù)據(jù)。我們現(xiàn)在將使用 Matplotlib 繪制第一個(gè)直方圖。 以下代碼片段生成一個(gè)非?;镜闹狈綀D。
我們已經(jīng)成功繪制了第一個(gè)直方圖。 Matplotlib 帶有很多參數(shù)來自定義圖形和圖表。我們將使用它們來使上面的直方圖更好。 在下表中,你可以看到一些常用參數(shù): 參數(shù)說明 binsbins參數(shù)用于指定要將分布劃分成的bins(區(qū)間)的數(shù)量。color顏色參數(shù)用于對直方圖進(jìn)行著色。bottom允許修改直方圖中每個(gè)bin底部的位置。align它定義直方圖條的水平對齊方式(“左”、“中”、“右”)。 有許多參數(shù)沒有在上表中顯示。你可以在matplotlib.pyplot.hist()方法的官方文檔中找到它們。 現(xiàn)在讓我們使用上面的一些參數(shù)來查看直方圖中的差異。 import matplotlib.pyplot as pltimport numpy as np data = np.random.normal(170, 10, 250)plt.hist(data, bins= 20, color='green')plt.show() 上面的代碼是相同的,略有變化。我們已將 bins 設(shè)置為 20,將直方圖的顏色設(shè)置為綠色。 這是直方圖的樣子: 如何使用 Pandas 繪制直方圖?為了操作和分析數(shù)據(jù),Python 編程語言有一個(gè)名為 Pandas 的軟件包。它允許你使用時(shí)間序列和數(shù)學(xué)表。 我之前的文章有詳細(xì)介紹Pandas:Python每日一庫之Pandas 在 Pandas 的幫助下,你可以輕松高效地執(zhí)行數(shù)據(jù)分析任務(wù)。 使用 Pandas,你可以使用內(nèi)置函數(shù)hist()繪制直方圖。 我們將根據(jù)已經(jīng)生成的數(shù)據(jù)使用hist()函數(shù)生成直方圖。 看看下面的代碼:
在此代碼中,我們生成與之前使用 NumPy 所做的相同的數(shù)據(jù),然后我們?yōu)樯傻臄?shù)據(jù)創(chuàng)建一個(gè)Pandas DataFrame。 然后,我們在 Pandas DataFrame 上調(diào)用hist()函數(shù),它會生成以下直方圖。 結(jié)論在本文中,我們從直方圖的基礎(chǔ)知識入手并了解了它們的用途。 然后,你實(shí)現(xiàn)了 Python 代碼來繪制使用 NumPy 生成的虛擬數(shù)據(jù)的直方圖。你已經(jīng)了解了如何在生成直方圖時(shí)應(yīng)用不同的參數(shù)。 在文章的最后,我們使用 Pandas 庫繪制了基于相同虛擬數(shù)據(jù)的直方圖。 |
|