1 numpy.random.rand()
import numpy as np
#numpy.random.rand(d0,d1,…,dn)
#rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1
#dn表示每个维度
#返回值为指定维度的array
r1=np.random.rand(4,2)
print(r1)
#[[0.54796071 0.73270937]
# [0.5647328 0.70013707]
# [0.91110114 0.08213541]
# [0.19546388 0.24586689]]
r2=np.random.rand(4,3,2)
print(r2)
#[[[0.82556104 0.07270207]
# [0.1069326 0.47209747]
# [0.09192639 0.19107852]]
#
# [[0.40383564 0.66783667]
# [0.11768459 0.83272651]
# [0.14421077 0.27054178]]
#
# [[0.44231041 0.13556717]
# [0.9721093 0.26463092]
# [0.39230692 0.11999238]]
#
# [[0.68689626 0.95392683]
# [0.24648299 0.36028133]
# [0.04722144 0.57334715]]]
2 numpy.random.randn()
#numpy.random.randn(d0,d1,…,dn)
#randn函数返回一个或一组样本,具有标准正态分布。
#dn表格每个维度
#返回值为指定维度的array
r1=np.random.randn() # 当没有参数时,返回单个数据
print(r1)
#2.180839721796335
r2=np.random.randn(2,3)
print(r2)
#[[ 1.42179407 -1.00965162 0.0976658 ]
# [-0.80137264 -0.01187873 -0.89012013]]
r3=np.random.randn(4,3,2)
print(r3)
#[[[-0.6917621 -0.28543133]
# [-0.05699497 0.79843222]
# [ 0.47925177 0.02507539]]
#
# [[-0.78114516 0.91415655]
# [ 0.25284292 -0.39140813]
# [ 0.94776295 -0.65905797]]
#
# [[-0.41304453 -0.41532004]
# [ 1.11642434 0.87892892]
# [ 0.06841654 -0.86068078]]
#
# [[-2.04711579 1.15262631]
# [-0.11697358 0.14319266]
# [ 0.23161988 1.47999793]]]
#标准正态分布介绍
#标准正态分布—-standard normal distribution
#标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,记为N(0,1)。
3 numpy.random.randint()
#numpy.random.randint(low, high=None, size=None, dtype=|’)
#返回随机整数,范围区间为[low,high),包含low,不包含high
#参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
#high没有填写时,默认生成随机数的范围是[0,low)
r1=np.random.randint(1,size=5)
print(r1)
# 返回[0,1)之间的整数,所以只有0
# [0 0 0 0 0]
r2=np.random.randint(1,5) # 返回1个[1,5)时间的随机整数
print(r2)
#2
r3=np.random.randint(-5,5,size=(2,2))
print(r3)
#[[ 2 -1]
# [ 1 1]]
4 生成[0,1)之间的浮点数
#numpy.random.random_sample(size=None)
#numpy.random.random(size=None)
#numpy.random.ranf(size=None)
#numpy.random.sample(size=None)
print('-----------random_sample--------------')
print(np.random.random_sample(size=(2,2)))
print('-----------random--------------')
print(np.random.random(size=(2,2)))
print('-----------ranf--------------')
print(np.random.ranf(size=(2,2)))
print('-----------sample--------------')
print(np.random.sample(size=(2,2)))
5 numpy.random.choice()
#numpy.random.choice(a, size=None, replace=True, p=None)
#从给定的一维数组中生成随机数
#参数: a为一维数组类似数据或整数;size为数组维度;p为数组中的数据出现的概率
#a为整数时,对应的一维数组为np.arange(a)
r1=np.random.choice(5,3)
print(r1)
r2=np.random.choice(5,3,replace=False)
print(r2)
#[4 0 1]
#[3 0 2]
r3=np.random.choice(5,size=(3,2))
print(r3)
#[[4 1]
# [3 1]
# [4 1]]
demo_list = ['lenovo', 'sansumg','moto','xiaomi', 'iphone']
r4=np.random.choice(demo_list,size=(3,3))
print(r4)
#[['moto' 'lenovo' 'lenovo']
# ['lenovo' 'iphone' 'iphone']
# ['iphone' 'xiaomi' 'sansumg']]
#参数p的长度与参数a的长度需要一致;
#参数p为概率,p里的数据之和应为1
demo_list = ['lenovo', 'sansumg','moto','xiaomi', 'iphone']
r5=np.random.choice(demo_list,size=(3,3), p=[0.1,0.6,0.1,0.1,0.1])
print(r5)
#[['moto' 'sansumg' 'lenovo']
# ['sansumg' 'sansumg' 'sansumg']
# ['sansumg' 'sansumg' 'lenovo']]
6 numpy.random.seed()
#np.random.seed()的作用:使得随机数据可预测。
#当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数
np.random.seed(0)
r1=np.random.rand(5)
print(r1)
np.random.seed(1)
r2=np.random.rand(5)
print(r2)
np.random.seed(0)
r3=np.random.rand(5)
print(r3)
np.random.seed(1)
r4=np.random.rand(5)
print(r4)
#[0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 ]
#[4.17022005e-01 7.20324493e-01 1.14374817e-04 3.02332573e-01
# 1.46755891e-01]
#[0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 ]
#[4.17022005e-01 7.20324493e-01 1.14374817e-04 3.02332573e-01
# 1.46755891e-01]
参考:https://blog.csdn.net/u012149181/article/details/78913167
以上,记录本人学习过程