Python---numpy(隨機數)
本文參考:http://www.mamicode.com/info-detail-507676.html
import numpy as np
1. np.random.rand(d0, d1, ..., dn)
建立一個給定型別的陣列,將其填充在一個均勻分佈的隨機樣本[0,1)中,返回的維數數(d0, d1, ..., dn)。
>>> np.random.rand(2,2) >>> np.random.rand()
array([[
0.40730783, 0.17698462],
[ 0.96963241, 0.29701836]])
2.np.random.randn(d0, d1, ..., dn)
生成(d0, d1, ..., dn)維正態高斯分佈,均值為0,方差為1;若要產生的隨機數,則sigma*np.random.randn(...)+mu
產生 N(3, 6.25)的隨機數:
>>>2.5
* np.random.randn(2, 4) + 3 >>> np.random.randn()
array([[ 2.83119502, 2.79643738, 10.08803995, 2.38456208],
[ 4.76377716, 1.16584309, -0.01210192, 3.70101181]])
3.np.random.randint(low[, high, size])
返回隨機的整數,位於半開區間
[low, high)。size表示維數,size=10,表示1*10的行向量;size=(2,4),表示2*4的矩陣。
>>>
np.random.randint(2, size=4) >>> np.random.randint(5, size=3)
array([1, 1, 1, 0])
>>> np.random.randint(5, size=(2,4))
>>> np.random.randint(2,5, size=(2,4))
array([[0, 3, 0, 2], array([[2, 4, 2, 3],
[2, 0, 4, 2]]) [4, 3, 4, 4]])
4.np.random.random_integers(low[, high, size])
返回隨機的整數,位於閉區間
[low, high]。樣本N等間距的a和b之間的浮點數,使用:
a
+ (b - a) * (np.random.random_integers(N) - 1) / (N - 1)
>>>
np.random.random_integers(5) >>> np.random.random_integers(5, size=(3,2))
4 array([[5, 3],
[1, 3],
[4, 4]])
>>> 2.5 * (np.random.random_integers(5, size=(5,)) - 1) / 4array([ 1.875, 2.5 , 1.875, 1.875, 0.625])
5.np.random.random([size])返回隨機的浮點數,在半開區間 [0.0, 1.0)。
(官網例子與random_sample完全一樣)
6.np.random.ranf([size])返回隨機的浮點數,在半開區間 [0.0, 1.0)。
(官網例子與random_sample完全一樣)
7.np.random.sample([size])返回隨機的浮點數,在半開區間 [0.0, 1.0)。
(官網例子與random_sample完全一樣)