zoukankan      html  css  js  c++  java
  • numpy np.random生成随机数

    1.生成指定形状0-1之间的随机数 :np.random.random()和np.random.rand()

    注意:np.random.random()如果要生成多维数据时需要传入一个数组,而np.random.rand()可以直接传入

    #生成0-1之间的随机数
    import numpy as np
    np.random.random(100)
    np.random.rand(100)
    
    #区别
    np.random.random((3,4))  #需要以数组形式传入
    np.random.rand(3,4)

    2.生成指定范围内的随机整数np.random.randint(low=,higt=,size=,dtype=)

    low和hight代表指定范围内的最大值和最小值

    size可以时数组的元素个数也可以是数组的维数,如size=(2,3),即是生成一个2行3列的数据

    dtype只能写np.int32或者是np.int64

    #如果只传入一个参数,则取该范围内的某一个数据
    np.random.randint(10)  
    
    #不然就得传入三个参数,dtype可以不传入
    np.random.randint(0,100,(3,4))

    3.与正态分布有关的函数,np.random.randn()和np.random.normal()

    区别:np.random.randn() 生成服从标准正态分布,可以传n个参数,代表着维数

    np.random.normal(loc,scale,size) 生成指定均值和标准差的正态分布随机数,参数分别代表着均值标准差和随机数的个数,只能生成一维数组,可以配合reshape()使用

    np.random.randn(3)  #返回三个值
    np.random.randn(3,4)
    
    np.random.normal(10)  #只返回一个值
    np.random.normal(2,0.5,10).reshape(2,5)

    4.均匀分布 np.random.uniform()

    np.random.uniform(10)  #返回一个值
    np.random.uniform(1,10,10)  #返回一个一维数组
    np.random.uniform(1,10,(2,3))  #返回一个二维数组

    5.np.random.seed()按照种子来生成随机数,种子一样,随机数结果一致

    #不管执行多少回结果都一样
    np.random.seed(10)
    np.random.rand(10)

    6.np.random.shuffle()打乱数组元素顺序

    a=np.arange(10)
    np.random.shuffle(a)  #输出的顺序被打乱了

    7.np.random.choice()按照指定概率从指定数组中,生成随机数

    #进行10000次掷硬币实验
    l=[0,0]
    for i in range(10000):
        f=np.random.choice([0,1],p=[0.5,0.5])
        l[f]=l[f]+1
    p=l[0]/(l[0]+l[1])

    参数表述0被抽到的概率为0.5;1同理

  • 相关阅读:
    苑举正相关视频
    pdf怎么转换成word
    Qt架构图及模块分析介绍
    读残雪的《趋光运动 : 回溯童年的精神图景》笔记
    Qt之美(一):D指针/私有实现
    十大美国大学网络公开课
    网络公开课和MOOC资源
    网络课程网站
    Qt源码学习之路(2) QCoreApplication(1)
    xshell如何导入.xsh 文件
  • 原文地址:https://www.cnblogs.com/cgmcoding/p/13256376.html
Copyright © 2011-2022 走看看