使用 NumPy 生成均勻分佈的隨機數
高斯分佈,也稱為正態分佈,在統計分析和資料建模中常用。它以其熟悉的鐘形曲線為特徵,表示實值隨機變數的連續機率分佈。其鐘形曲線特性使其成為模擬現實世界現象的常用工具。
random 模組生成一組從正態分佈中抽取的偽隨機數,並指定均值和標準差。
語法
numpy.random.uniform(low=0.0, high=1.0, size=None)
引數
low :它接受浮點數或陣列作為引數,表示可以生成的最小值。預設值為 0。
high:與 low 非常相似,但預設值為 1。
size :它接受整數或整數元組作為引數,並確定要生成的隨機數的數量。
示例
以下示例演示瞭如何生成具有預設下限和上限(0 和 1)的隨機數。
演算法
將 numpy 庫匯入為 nmp。
使用 numpy.random.uniform 函式,不指定顯式下限和上限。
將 size 引數指定為 5,以從均勻分佈中生成五個隨機數。
將生成的隨機數儲存在單獨的變數中。
import numpy as nmp # Generate five random numbers from the uniform distribution random_numbers = nmp.random.uniform(size=5) # Print the generated random numbers print("The Random Generated Numbers Are:", random_numbers)
輸出
The Random Generated Numbers Are: [0.16686196 0.00839822 0.70146929 0.98215339 0.65254042]
示例
以下程式碼說明了如何使用 numpy 從均勻分佈中生成具有特定範圍的 10 個隨機數。
import numpy as np # Set the lower and upper bounds lower_bound = 10 # Lower bound of the distribution upper_bound = 20 # Upper bound of the distribution # Generate five random numbers from the uniform distribution random_numbers = np.random.uniform(low=lower_bound, high=upper_bound, size=10) # Print the generated random numbers print("Generated Random Numbers:", random_numbers)
輸出
Generated Random Numbers: [12.17244749 19.45438526 17.23474221 12.62434952 14.93329819 19.24373114 14.46020672 10.5430179 13.23576976 16.82255347]
示例
在本例中,我們將使用 NumPy 的均勻分佈生成一個 2D 隨機數陣列,並使用自定義範圍。
演算法
匯入 numpy 庫。
設定均勻分佈所需的上下限值。
將上下限值作為引數傳遞,並指定引數的大小。
將生成的隨機數儲存在單獨的變數中。
import numpy as nmpy # Set the lower and upper bounds lower_bound = 0 upper_bound = 100 # Generate a 2D array of random numbers from the uniform distribution random_numbers = nmpy.random.uniform(low=lower_bound, high=upper_bound, size= (3, 5)) # Print the generated random numbers print("The 2D array Randomly generated Numbers:") print(random_numbers)
輸出
The 2D array Randomly generated Numbers: [[34.9530181 47.99901914 80.16861203 5.86164601 24.51089145] [87.87714454 79.73164792 17.19521485 67.10860954 54.12845578] [75.46746683 55.00061495 93.79876457 74.6587852 33.00568042]]
結論
NumPy 是一個強大的工具,開發人員可以使用它在 Python 中從均勻分佈生成隨機數,這些隨機數可用於各種應用、模擬和為測試用例生成隨機資料點,這通常用於為機器學習應用程式建立合成數據以建立隨機輸入。
廣告