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