Numpy產生隨機數

2021-10-03 05:27:08 字數 3543 閱讀 5244

numpy中的random模組包含了很多方法可以用來產生隨機數,這篇文章將對random中的一些常用方法做乙個總結。

1、numpy.random.rand(d0, d1, …, dn)

作用:產生乙個給定形狀的陣列(其實應該是ndarray物件或者是乙個單值),陣列中的值服從[0, 1)之間的均勻分布。

引數:d0, d, …, dn : int,可選。如果沒有引數則返回乙個float型的隨機數,該隨機數服從[0, 1)之間的均勻分布。

返回值:ndarray物件或者乙個float型的值

例子:

# [0, 1)之間均勻分布的隨機數,3行2列

a = np.random.rand(3,

2)print

(a)# 不提供形狀

b = np.random.rand(

)print

(b)

輸出:

[[0.26054323 0.28184468]

[0.7783674 0.71733674]

[0.90302256 0.49303252]]

0.6022098740124009

2、numpy.random.uniform(low=0.0, high=1.0, size=none)

作用:返回乙個在區間[low, high)中均勻分布的陣列,size指定形狀。

引數:low, high:float型或者float型的類陣列物件。指定抽樣區間為[low, high),low的預設值為0.0,hign的預設值為1.0

size:int型或int型元組。指定形狀,如果不提供size,則返回乙個服從該分布的隨機數。

例子:

# 在[1, 10)之間均勻抽樣,陣列形狀為3行2列

a = np.random.uniform(1,

10,(3

,2))

print

(a)# 不提供size

b = np.random.uniform(1,

10)print

(b)

輸出:

[[5.16545387 6.3769087 ]

[9.98964899 7.88833885]

[1.37173855 4.19855075]]

3.899250175275188

3、numpy.random.randn(d0, d1, …, dn)

作用:返回乙個指定形狀的陣列,陣列中的值服從標準正態分佈(均值為0,方差為1)。

引數:d0, d, …, dn : int,可選。如果沒有引數,則返回乙個服從標準正態分佈的float型隨機數。

返回值:ndarray物件或者float

例子:

# 3行2列

a = np.random.randn(3,

2)print

(a)# 不提供形狀

b = np.random.randn(

)print

(b)

輸出:

[[-1.46605527 0.35434705]

[ 0.43408199 0.02689309]

[ 0.48041554 1.62665755]]

-0.6291254375915813

4、numpy.random.normal(loc=0.0, scale=1.0, size=none)

作用:返回乙個由size指定形狀的陣列,陣列中的值服從 μ=loc,σ=scale

的正態分佈。

引數:loc : float型或者float型的類陣列物件,指定均值 μ

scale : float型或者float型的類陣列物件,指定標準差 σ

size : int型或者int型的元組,指定了陣列的形狀。如果不提供size,且loc和scale為標量(不是類陣列物件),則返回乙個服從該分布的隨機數。

輸出:ndarray物件或者乙個標量

例子:

# 標準正態分佈,3行2列

a = np.random.normal(0,

1,(3

,2))

print

(a)# 均值為1,標準差為3

b = np.random.normal(1,

3)print

(b)

輸出:

[[ 0.34912031 -0.08757564]

[-0.99753101 0.37441719]

[ 2.68072286 -1.03663963]]

5.770831320998463

5、numpy.random.randint(low, high=none, size=none, dtype=『l』)

作用:返回乙個在區間[low, high)中離散均勻抽樣的陣列,size指定形狀,dtype指定資料型別。

引數:low, high:int型,指定抽樣區間[low, high)

size:int型或int型的元組,指定形狀

dypte:可選引數,指定資料型別,比如int,int64等,預設是np.int

返回值:如果指定了size,則返回乙個int型的ndarray物件,否則返回乙個服從該分布的int型隨機數。

例子:

# 在[1, 10)之間離散均勻抽樣,陣列形狀為3行2列

a = np.random.randint(1,

10,(3

,2))

print

(a)# 不提供size

b = np.random.randint(1,

10)print

(b)# 指定dtype

c = np.random.randint(1,

10, dtype=np.int64)

print

(c)type

(c)

輸出:

[[3 1]

[3 3]

[5 8]]62

numpy.int64

6、numpy.random.random(size=none)

作用:返回從[0, 1)之間均勻抽樣的陣列,size指定形狀。

引數:size:int型或int型的元組,如果不提供則返回乙個服從該分布的隨機數

返回值:float型或者float型的ndarray物件

例子:

# [0, 1)之間的均勻抽樣,3行2列

a = np.random.random((3

,2))

print

(a)# 不指定size

b = np.random.random(

)print

(b)

輸出:

[[0.80136714 0.63129059]

[0.04556679 0.04433006]

[0.09643599 0.53312761]]

0.32828505898057136

numpy隨機數的產生

numpy.random.uniform介紹 函式原型 numpy.random.uniform low,high,size 功能 從乙個均勻分布 low,high 中隨機取樣,注意定義域是左閉右開,即包含low,不包含high.引數介紹 low 取樣下界,float型別,預設值為0 high 取樣...

產生隨機數

先說明一下rand,這個函式用來產生偽隨機數。比如,產生1000的兩個隨機數,產生的兩個一般上是不同的,但如果要產生80個100以內的隨機數,僅用rand函式就不夠。因為產生80個100以內的隨機數,至少有兩個數相等的概率太大了 srand函式,並不能使產生的隨機數完全不同。你可以執行以下這串 in...

隨機數產生

c c 中取隨機數 在計算機中並沒有乙個真正的隨機數發生器,但是可以做到使產生的數字重複率很低,這樣看起來好象是真正的隨機數,實現這一功能的程式叫偽隨機數發生器。有關如何產生隨機數的理論有許多,如果要詳細地討論,需要厚厚的一本書的篇幅。不管用什麼方法實現隨機數發生器,都必須給它提供乙個名為 種子 的...