zoukankan      html  css  js  c++  java
  • numpy.random.rand()/randn()/randint()/normal()/choice()/RandomState()

    这玩意用了很多次,但每次用还是容易混淆,今天来总结mark一下~~~

    1. numpy.random.rand(d0,d1,...,dn)

    生成一个[0,1)之间的随机数或N维数组

    np.random.rand(2) #生成两个[0,1)之间的数
    
    [0.6555729  0.76240372]
    
    np.random.rand(2,2) #生成2行*2列的矩阵
    
    [[0.58360206 0.91619225]
     [0.78203671 0.06754087]]
    

    2. numpy.random.randn(d0,d1,...,dn)

    生成一个[0,1)之间的随机浮点数或N维浮点数组
    正态分布

    np.random.randn(2) #生成两个[0,1)之间的浮点数
    
    [-0.03609815  0.25591596]
    
    np.random.randn(2,2) #生成2行*2列的矩阵
    
    [[-0.3021947  -0.37880516]
     [-1.84794341 -1.27301629]]
    

    3. numpy.random.randint(low,high=None,size=None,dtype='1')

    生成一个整数或N维整数数组
    若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数,且high必须大于low;dtype只能是int类型

    np.random.randint(2)#1个0~2的整数
    
    1
    
    np.random.randint(1,2)#1个1~2的整数
    
    1
    
    np.random.randint(1,5,size=3) #3个1~5的整数
    
    [3 1 2]
    

    4.numpy.random.normal(low,high,size=(4,4))

    生成一个标准正态分布的4*4样本值

    numpy.random.normal(loc=0.0, scale=1, size=(2, 3))
    
    array([[ 2.36637254, -0.28686707, -0.5227531 ],
           [ 0.35879566,  0.70202319, -0.84655717]])
    

    5.numpy.random.shuffle()

    随机打乱序列
    将序列的所有元素随机排序,传入参数可以是一个序列或者元组

    [[-0.15040995 -0.43780718 -0.22292445]
     [-0.89388124 -0.39465164  0.24113838]]
    

    6.numpy.random.choice()

    随机选取序列的一个元素
    可以从序列(字符串、列表、元组等)中随机选取,返回一个列表,元组或字符串的随机项

    np.random.choice(['a','b','c','d','e'])
    
    c
    
    np.random.choice(5, 6)#6个小于5的元素
    
    
    [2 3 3 3 1 2]
    
    np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])#p:每个条目出现的概率。如果没有,假设样本在A中的所有条目都具有均匀分布。
    
    
    [0 3 2]
    

    7.numpy.random.RandomState()

    指定种子值
    numpy.random.RandomState()指定种子值(指定种子值是为了使同样的条件下每次产生的随机数一样,避免程序调试时由随机数不同而引起的问题)
    如不设置种子值时,np.random.randint(8)可能产生0-7内的任意整数,且每次产生的数字可能是任意一种.
    而设置种子值后,np.random.RandomState(0).randint(8)可能产生0-7内的任意整数,但种子值不变时每次运行程序产生的数字一样.

    np.random.RandomState(0).randint(8)#产生随机整数
    
    4
    
    n1 = numpy.random.RandomState(0).random_sample()
    n2 = numpy.random.RandomState(0).random_sample(size=(2,3))
    
    0.548813503927 
    [[ 0.5488135   0.71518937  0.60276338]
     [ 0.54488318  0.4236548   0.64589411]]
    
  • 相关阅读:
    drf中APIView源码分析
    将orm中模型类对象转化为字典,简单粗暴的方法
    python中uuid的使用
    每日作业 7/3
    传输文件到docker容器
    mysql 常用选项
    mysql基本语句
    mysql数据库的基本操作增删改查
    docker service的常用操作
    centos7主机重命名
  • 原文地址:https://www.cnblogs.com/nxf-rabbit75/p/9688576.html
Copyright © 2011-2022 走看看