1. 程式人生 > 實用技巧 >np.random.send()

np.random.send()

seed( ) 用於指定隨機數生成時所用演算法開始的整數值。
1.括號內數字為識別符號,如果使用相同的標識,則每次生成的隨即數都相同;我理解的是每一個標識對應一組固定的隨機數,使用seed()後,random從這組隨機數中按順序取數;
2.如果不設定這個值,則系統根據時間來自己選擇這個值,此時每次生成的隨機數因時間差異而不同。
3.設定的seed()值僅一次有效

測試程式碼如下:

In [1]:
import numpy as np
np.random.seed(0)#括號內數字為標識
np.random.random(5)
Out[1]:
array([0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ])

In [
2]: #seed()僅對下一次隨機數生成有效 np.random.random(5) Out[2]: array([0.64589411, 0.43758721, 0.891773 , 0.96366276, 0.38344152])
In [
3]: np.random.seed(0) np.random.random(5) Out[3]: array([0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ])
In [
4]: np.random.seed(0) np.random.random(7) Out[4]: array([0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ,0.64589411, 0.43758721])
In [
5]: np.random.seed(10) np.random.random(5) Out[5]: array([0.77132064, 0.02075195, 0.63364823, 0.74880388, 0.49850701])