np.random用法

  1. np.random.rand() --> 生成指定维度的的[0,1)范围之间的随机数,输入参数为维度

例如:

 

>>>np.random.rand(4,3,2)
生成一个shape为[4,3,2]的array,array中每个元素都是一个[0,1)之间的随机数

  1. np.random.randn() --> 生成指定维度的服从标准正态分布的随机数,输入参数为维度

例如:

 

>>>np.random.randn() :没有参数,只返回单个数据

 

>>>np.random.randn(2,4):返回一个shape为[2,4]的array,array中的元素服从标准正态分布

  1. np.random.randint(low, high = None, size = None,dtype = 'l')--> 返回随机数或者随机数组成的array

输入参数有:

  • low,high(范围区间为[low,high)),low不可以>=high
  • size,
  • dtype(默认为int)

例如:

 

>>>np.random.randint(1,size=5):
返回[0,1)之间的随机整数,尺寸为5,因此只有0
array([0,0,0,0,0])

 

>>>np.random.randint(1,5):
返回一个[1,5)之间的随机整数
4

错误实例:
np.random.randint(size = 2)
np.random.randint(high = 1, size = 2)
np.random.randint(high = 1)

 

TypeError: randint() takes at least 1 positional argument (0 given)
randint()必须有一个位置参数

np.random.randint(high = 1,1)

 

SyntaxError: positional argument follows keyword argument
位置参数跟在了关键字参数的后面,是不可以的

  1. np.random.random_integers(low,high = None,size = None)-->返回范围为[low,high] 闭区间 随机整数

 

>>>np.random.random_integer(1,size = 5)
array([1,1,1,1,1])

5.np.random.random(size = (2,2))-->生成随机浮点数阵列

 

>>>np.random.random(size = (2,2))
[[ 0.25303772   0.45417512]
 [ 0.76053763   0.12454433]]

 

>>>np.random.rand(2,2)  等价于 np.random.random(size = (2,2))
也就是说二者都只提供size参数,但一个是位置参数,一个是关键字参数,二者返回的都是[0,1)范围的随机浮点数

6.np.random.choice(a, size = None, replace = True, p = None) --> 从给定数组a中随机选择,p可以指定a中每个元素被选择的概率
例如:

当a为整数时,随机选择数组np.arange(a)中的数

 

>>>np.random.choice(5,3)
array([4,1,4])
np.arange(5) == array([0,1,2,3,4]),从该array中随机选择3个数组成一个新的array并返回

 

>>>np.random.choice(5,3,replace=False)
array([0,3,1]) , 当replace = False时,返回的数中不可以有重复的

 

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

 

p是一个list,p的size 必须与a的size一致,p中每个元素对应了a中每个元素被选择的概率
>>>np.random.choice(list_tmp,size = (3,3),p = [0.1,0.6,0.1,0.1,0.1])

  1. np.random.seed() -->使随即数据可预测,对于同一个seed,生成的随机数相同
    例如

 

>>>np.random.seed(0)
>>>np.random.rand(1)
array([0.5488135])
>>>np.random.seed(1)
>>>np.random.rand(1)
array([0.4359949])
>>>np.random.seed(1)
>>>np.random.rand(1)
array([0.4359949])



作者:暴走的llccll
链接:https://www.jianshu.com/p/85ec63259c4e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值