numpy中有一些常用的用来产生随机数的函数。
1. rand(d0, d1, …, dn)的随机样本位于[0, 1)中。
>>> np.random.rand(2,2)
array([[ 0.03707949, 0.41972219],
[ 0.76721763, 0.92190316]])
2. randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值。
>>> np.random.randn()
-0.23973479740743608
# N(3,6.25) => 2.5 * np.random.randn(2,4)+3
>>> 2.5* np.random.randn(2,4)+3
array([[ 0.01273735, 1.2869618 , 2.46575794, 3.00575844],
[ 2.0903537 , 3.45027914, 1.81021444, 2.23118217]])
3. randint(low[, high, size]) 获得随机的整数 位于半开区间[low, high)
>>> np.random.randint(3, size = 10)
array([1, 2, 1, 2, 2, 1, 1, 1, 0, 0])
>>> np.random.randint(1,5,size =10)
array([3, 1, 3, 3, 3, 4, 1, 2, 4, 3])
>>> np.random.randint(1,10,size=(2,3))
array([[6, 9, 1],
[6, 4, 7]])
4. random_integers(low[,high, size]) 获得随机的整数,位于闭区间[low, high]
>>> np.random.random_integers(5)
1
>>> np.random.random_integers(5, size=(3,2))
array([[2, 1],
[5, 2],
[4, 4]])
>>> 2 * (np.random.random_integers(5, size=(5,)) - 1) / 4
array([ 0.5, 0.5, 1. , 0.5, 0.5])
5. random_sample([size]) 获取随机的浮点数, 在半开区间[0.0, 1.0)
>>> np.random.random_sample()
0.64083390603798
>>> np.random.random_sample((5))
array([ 0.08202041, 0.62794823, 0.63852735, 0.17191555, 0.56619236])
>>> np.random.random_sample((3,4))
array([[ 0.96598298, 0.05680509, 0.75908237, 0.55356011],
[ 0.20096591, 0.67791321, 0.52313978, 0.09776218],
[ 0.01183812, 0.93489007, 0.61070159, 0.10541408]])
6. random([size]) 获取随机的浮点数,在半开区间[0.0, 1.0)
7. ranf([size]) 获取随机的浮点数,在半开区间[0.0, 1.0)
8. sample([size]) 获取随机的浮点数,在半开区间[0.0, 1.0)
9. bytes(length) 获取随机字节
>>> np.random.bytes(10)
b'\x99\n\xc5\x95\xe7xG\xea~