NumPy 隨機數
什麼是隨機數?
隨機數並不意味著每次都生成一個不同的數字。隨機意味著無法透過邏輯預測。
偽隨機和真隨機。
計算機是根據程式執行的,程式是明確的指令集。因此,這意味著生成隨機數也必須有一個演算法。
如果存在一個生成隨機數的程式,那麼它可以被預測,因此它不是真正隨機的。
透過生成演算法產生的隨機數稱為偽隨機數。
我們能製造出真隨機數嗎?
是的。為了在我們的計算機上生成真隨機數,我們需要從外部源獲取隨機資料。這個外部源通常是我們的鍵盤輸入、滑鼠移動、網路資料等。
我們不需要真隨機數,除非它與安全相關(例如加密金鑰),或者應用程式的基礎是隨機性(例如數字輪盤)。
在本教程中,我們將使用偽隨機數。
生成隨機數
NumPy 提供了 random
模組來處理隨機數。
生成隨機浮點數
random 模組的 rand()
方法返回一個 0 到 1 之間的隨機浮點數。
生成隨機陣列
在 NumPy 中,我們處理陣列,您可以使用上面示例中的兩個方法來建立隨機陣列。
整數
randint()
方法接受一個 size
引數,您可以在其中指定陣列的形狀。
示例
生成一個包含 5 個 0 到 100 之間隨機整數的一維陣列
from numpy import random
x=random.randint(100, size=(5))
print(x)
自己動手試一試 »
示例
生成一個二維陣列,包含 3 行,每行包含 5 個 0 到 100 之間的隨機整數
from numpy import random
x = random.randint(100, size=(3, 5))
print(x)
自己動手試一試 »
浮點數
rand()
方法也允許您指定陣列的形狀。
從陣列中生成隨機數
choice()
方法允許您根據一個值陣列生成一個隨機值。
choice()
方法接受一個數組作為引數,並隨機返回其中的一個值。
choice()
方法還允許您返回一個陣列的值。
新增一個 size
引數來指定陣列的形狀。
示例
生成一個由引數陣列(3、5、7 和 9)中的值組成的二維陣列
from numpy import random
x = random.choice([3, 5, 7, 9], size=(3, 5))
print(x)
自己動手試一試 »