文章目录
NumPy库—random模块
np.random.seed
用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed()
值,则每次生成的随机数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。一般没有特殊要求不用设置:
np.random.seed(1)
print(np.random.rand()) # 打印0.417022004702574
print(np.random.rand()) # 打印其他的值,因为随机数种子只对下一次随机数的产生会有影响
# result:
0.417022004702574
0.7203244934421581
np.random.rand
生成一个值为[0,1)
之间的数组,形状由参数指定,如果没有参数,那么将返回一个随机值:
data1 = np.random.rand(2,3,4) # 生成2块3行4列的数组,值从0~1之间
data2 = np.random.rand() # 生成一个0~1之间的随机数
np.random.randn
生成均值( μ μ μ)为0,标准差( σ σ σ)为1的标准正态分布的值:
data = np.random.randn(2,3) # 生成一个2行3列的数组,数组中的值都满足标准正态分布
np.random.randint
生产指定范围内的随机数,并且可以通过size
参数指定维度:
data1 = np.random.randint(10,size=(3,5)) # 生成值在0~10之间,3行5列的数组
data2 = np.random.randint(1,20,size(3,6)) # 生成值在1~20之间,3行6列的数组
np.random.choice
从一个列表或者数组中,随即进行采样。或者从指定的区间中采样,采样个数可以通过参数指定:
data = [4,65,6,3,5,73,23,5,6]
result1 = np.random.choice(data,size=(2,3)) # 从data中随机采样,生成2行3列的数组
result2 = np.random.choice(data,3) # 从data中随机采样3个数据形成一个一维数组
result3 = np.random.choice(10,3) # 从0~10之间随机取3个值
np.random.shuffle
把原来数组的元素的位置打乱:
a = np.arange(10)
np.random.shuffle(a) # 将a的元素的位置都会进行随机更换
更多请参考:
【random模块官方文档】