NumPy 中的隨機數

什麼是隨機數?

隨機數並不意味著每次都有不同的數字。隨機意味著無法在邏輯上預測的事物。

虛擬隨機和真隨機

計算機在程序上工作,程序是權威的指令集。因此,這意味著必須有某種算法來生成隨機數。

如果存在生成隨機數的程序,則可以預測它,因此它就不是真正的隨機數。

通過生成算法生成的隨機數稱為虛擬隨機數。

我們可以生成真正的隨機數嗎?

是的。為了在我們的計算机上生成一個真正的隨機數,我們需要從某個外部來源獲取隨機數據。外部來源通常是我們的擊鍵、鼠標移動、網絡數據等。

我們不需要真正的隨機數,除非它与安全性(例如加密密钥)有关或应用的基础是隨機性(例如数字轮盘赌轮)。

在本教程中,我們將使用虛擬隨機數。

生成隨機數

NumPy 提供了 random 模組來處理隨機數。

Halimbawa

生成一個 0 到 100 之間的隨機整數:

from numpy import random
x = random.randint(100)
print(x)

Run Halimbawa

生成隨機浮點

random 模組的 rand() 方法返回 0 到 1 之間的隨機浮點數。

Halimbawa

生成一個 0 到 100 之間的隨機浮點數:

from numpy import random
x = random.rand()
print(x)

Run Halimbawa

生成隨機數組

在 NumPy 中,我們可以使用上例中的兩種方法來創建隨機數組。

整數

randint() 方法接受 size 參數,您可以在其中指定數組的形狀。

Halimbawa

Buhat ng 1-D array na may 5 na random na integer mula 0 hanggang 100:

from numpy import random
x=random.randint(100, size=(5))
print(x)

Run Halimbawa

Halimbawa

Buhat ng 3 na linya na 2-D array, bawat linya ay may 5 na random na integer mula 0 hanggang 100:

from numpy import random
x = random.randint(100, size=(3, 5))
print(x)

Run Halimbawa

Floating-point number

rand() Ang paraan ay nagbibigay-daan sa iyo na tukuyin ang hugis ng array.

Halimbawa

Buhat ng 1-D array na may 5 na random na floating-point number:

from numpy import random
x = random.rand(5)
print(x)

Run Halimbawa

Halimbawa

Buhat ng 3 na linya na 2-D array, bawat linya ay may 5 na random na numero:

from numpy import random
x = random.rand(3, 5)
print(x)

Run Halimbawa

Buhat ng array na bumubuo ng random na numero

choice() Ang paraan ay nagbibigay-daan sa iyo na gumawa ng random na halaga base sa array ng halaga.

choice() Ang paraan ay magbibigay-daan sa iyo na ibalik ang isang random na halaga mula sa array.

Halimbawa

Ibalik ang isang halaga mula sa array:

from numpy import random
x = random.choice([3, 5, 7, 9])
print(x)

Run Halimbawa

choice() Ang paraan ay nagbibigay-daan upang ibalik ang isang array ng halaga.

Magdagdag ng isang size Ang mga parametro ay ginagamit upang tukuyin ang hugis ng array.

Halimbawa

Buhat ng isang array ng mga pangangatwiran (3, 5, 7 at 9) na bumubuo ng dalawang-dimensiyonal na array:

from numpy import random
x = random.choice([3, 5, 7, 9], size=(3, 5))
print(x)

Run Halimbawa