numpy.random 模块中文文档学习笔记

1 numpy.random.randint()

整数随机,指定上下界,左闭右开

np.random.randint(1, size=10)
>>> array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

np.random.randint(2, size=10)
>>> array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])

np.random.randint(5, size=(2, 4))
>>> array([[4, 0, 2, 1],
       	   [3, 2, 2, 0]])

2 numpy.random.rand()

rand()函数根据给定维度生成 [0,1) 之间的数据,均匀分布

np.random.rand(3,2)
>>> array([[ 0.14022471,  0.96360618],
           [ 0.37601032,  0.25528411],
           [ 0.49313049,  0.94909878]]) 

3 numpy.random.randn()

服从标准正态分布~N(0,1)

np.random.randn()
>>> 2.1923875335537315

2.5 * np.random.randn(2, 4) + 3
>>> array([[-4.49401501,  4.00950034, -1.81814867,  7.29718677],
           [ 0.39924804,  4.68456316,  4.99394529,  4.84057254]])

4 numpy.random.choice()

numpy.random.choice(a, size=None, replace=True, p=None)
抽样,参数replace用来设置是否可以取相同元素:True表示可以取相同数字;False表示不可以取相同数字。默认是True。

np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0.0])
>>> array([3, 3, 0])

np.random.choice(5)		#从[0, 5)中随机输出一个随机数,相当于np.random.randint(0, 5)
>>> 2

np.random.choice(5, 6, replace=True)#可以看到有相同元素
>>> array([3, 4, 1, 1, 0, 3])
np.random.choice(5, 6, replace=False)#会报错,因为五个数字中取六个,不可能不取到重复的数字
>>> ValueError: Cannot take a larger sample than population when 'replace=False'

aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
>>> array(['pooh', 'pooh', 'pooh', 'Christopher', 'piglet'], dtype='|S11')
#可以看到,‘pooh’被选取的概率明显比其他几个高很多

5 numpy.random.uniform()

numpy.random.uniform(low,high,size)
从一个均匀分布 [low,high) 中随机采样;
low:采样下界,float 类型,默认值为0;
high:采样上界,float 类型,默认值为1;
size:输出样本数目,为 int 或元组(tuple)类型;
例如,size=(m,n,k),则输出m * n * k个样本,缺省时输出1个值。

猜你喜欢

转载自blog.csdn.net/ao1886/article/details/109178622
今日推荐