NumPy 中的隨機數
- 上一頁 NumPy 數組過濾
- 下一頁 NumPy ufuncs
什么是隨機數?
隨機數并不意味著每次都有不同的數字。隨機意味著無法在邏輯上預測的事物。
偽隨機和真隨機
計算機在程序上工作,程序是權威的指令集。因此,這意味著必須有某種算法來生成隨機數。
如果存在生成隨機數的程序,則可以預測它,因此它就不是真正的隨機數。
通過生成算法生成的隨機數稱為偽隨機數。
我們可以生成真正的隨機數嗎?
是的。為了在我們的計算機上生成一個真正的隨機數,我們需要從某個外部來源獲取隨機數據。外部來源通常是我們的擊鍵、鼠標移動、網絡數據等。
我們不需要真正的隨機數,除非它與安全性(例如加密密鑰)有關或應用的基礎是隨機性(例如數字輪盤賭輪)。
在本教程中,我們將使用偽隨機數。
生成隨機數
NumPy 提供了 random 模塊來處理隨機數。
實例
生成一個 0 到 100 之間的隨機整數:
from numpy import random x = random.randint(100) print(x)
生成隨機浮點
random 模塊的 rand()
方法返回 0 到 1 之間的隨機浮點數。
實例
生成一個 0 到 100 之間的隨機浮點數:
from numpy import random x = random.rand() print(x)
生成隨機數組
在 NumPy 中,我們可以使用上例中的兩種方法來創建隨機數組。
整數
randint()
方法接受 size
參數,您可以在其中指定數組的形狀。
實例
生成一個 1-D 數組,其中包含 5 個從 0 到 100 之間的隨機整數:
from numpy import random x=random.randint(100, size=(5)) print(x)
實例
生成有 3 行的 2-D 數組,每行包含 5 個從 0 到 100 之間的隨機整數:
from numpy import random x = random.randint(100, size=(3, 5)) print(x)
浮點數
rand()
方法還允許您指定數組的形狀。
實例
生成包含 5 個隨機浮點數的 1-D 數組:
from numpy import random x = random.rand(5) print(x)
實例
生成有 3 行的 2-D 數組,每行包含 5 個隨機數:
from numpy import random x = random.rand(3, 5) print(x)
從數組生成隨機數
choice()
方法使您可以基于值數組生成隨機值。
choice()
方法將數組作為參數,并隨機返回其中一個值。
實例
返回數組中的值之一:
from numpy import random x = random.choice([3, 5, 7, 9]) print(x)
choice()
方法還允許您返回一個值數組。
請添加一個 size
參數以指定數組的形狀。
實例
生成由數組參數(3、5、7 和 9)中的值組成的二維數組:
from numpy import random x = random.choice([3, 5, 7, 9], size=(3, 5)) print(x)
- 上一頁 NumPy 數組過濾
- 下一頁 NumPy ufuncs