numpy.random.randn()用法

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

以上,记录本人学习过程

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值