numpy.random模块产生随机数

  1. 产生 [0, 1) 之间的随机数
    • numpy.random.rand()

       numpy.random.rand(d0,d1,…,dn)
       
       - rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1
       - dn表示每个维度
       - 返回值为指定维度的array
      

      例1.1:

      >>>np.random.rand(4,2) # 4行2列
      array([[0.10669232, 0.9839076 ],
             [0.67376768, 0.79010495],
             [0.07939011, 0.22977188],
             [0.54017788, 0.68320903]])
      
    • numpy.random.random_sample(size=None)

    • numpy.random.random(size=None)

    • numpy.random.ranf(size=None)

    • numpy.random.sample(size=None)

      这四个函数都是产生[0,1)之间随机数的函数,用法一样,

      例1.2:

      >>> np.random.random_sample(size=(4))   #一维的,4个  
      array([0.68867009, 0.08635921, 0.88254211, 0.60605036])
      
      >>> np.random.random_sample(size=(2,3))  #二维
      array([[0.89693949, 0.51200954, 0.24158491],
             [0.11665254, 0.41706794, 0.67003414]])
      
      >>> np.random.random_sample(size=(3,2,4))   #三维
      array([[[0.84050702, 0.35274098, 0.87450357, 0.65806499],
              [0.79937112, 0.43261848, 0.60403257, 0.28847194]],
      
             [[0.28142754, 0.00671447, 0.53684953, 0.72092988],
              [0.09717808, 0.85686328, 0.15504614, 0.28567422]],
      
             [[0.39187717, 0.94410192, 0.51994066, 0.17610175],
              [0.32837617, 0.77936727, 0.5924614 , 0.38951718]]])
      
  2. 返回正态分布的随机数

    numpy.random.randn()

    numpy.random.randn(d0,d1,,dn)
     
    - randn函数返回一个或一组样本,具有标准正态分布。
    - 标准正态分布介绍:
     	标准正态分布(standard normal distribution)
     	标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,  记为N(01)。
    - dn表示每个维度
    - 返回值为指定维度的array,没给出参数时只返回一个随机数
    

    np.random.normal(loc=0.0, scale=1.0, size=None)

    - loc: 表示均值
    - scale:表示标准差
    - size:维度
    
  3. 返回随机整数

    numpy.random.randint()

    numpy.random.randint(low, high=None, size=None, dtype='l')
    
    - 返回随机整数,范围区间为[low,high),包含low,不包含high
    - 参数:low为最小值,high为最大值,size为数组维度大小,
           dtype为数据类型,默认的数据类型是np.int
                   
    - high没有填写时,默认生成随机数的范围是[0,low)
    
  4. 返回随机浮点数

    np.random.uniform(low=0.0, high=1.0, size=None)

    - low:最小值
    - high:最大值
    
  5. 从给定的一维数组中生成随机数

    numpy.random.choice()

    numpy.random.choice(a, size=None, replace=True, p=None)
     
     参数:
     
     - a为一维数组类似数据(如列表)或整数;
     - size为数组维度;
     - replace表示是否允许有重复值
     - p为数组中的各个数据出现的概率(与a数据个数要一致)
       a为整数时,内部自动转化为对应的一维数组为np.arange(a)
    

    例5.1

    >>>np.random.choice(5,3)
    array([4, 1, 4])
    
    >>>np.random.choice(5, 3, replace=False)
    # 当replace为False时,生成的随机数不能有重复的数值
    array([0, 3, 1])
    
    >>>np.random.choice(5,size=(3,2))
    array([[1, 0],
           [4, 2],
           [3, 3]])
    
  6. 使用随机数种子生成随机数

    numpy.random.seed()

    作用:

    • 使得随机数据可预测。
    • 当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数。

    例6.1

    np.random.seed(0) #第一个种子
    np.random.rand(5)
    
    out: array([ 0.5488135 ,  0.71518937,  0.60276338,  0.54488318,  0.4236548 ])
    
    #-------------------------------------------------------------------------------------
    np.random.seed(1676)  #第二个种子,相比于第一个发生改变
    np.random.rand(5)
    
    out:array([ 0.39983389,  0.29426895,  0.89541728,  0.71807369,  0.3531823 ]) 
    	#和之前不一样了
    
    #-------------------------------------------------------------------------------------
    np.random.seed(1676) #第三个种子,与第二个种子一样
    np.random.rand(5)
    
    out:array([ 0.39983389,  0.29426895,  0.89541728,  0.71807369,  0.3531823 ]) 
    	#与第二次一样
    
    

    第三个种子产生的随机数与第二个产生的随机数一样。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[小G]

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值