1. 程式人生 > >Python---numpy(隨機數)

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.28786881587000435
       [ 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],             

-0.5246881672713691
       [  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])                                  

array([4, 2, 3])

>>> 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) / 4

array([ 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完全一樣)