zoukankan      html  css  js  c++  java
  • numpy中的随机数模块

    https://www.cnblogs.com/td15980891505/p/6198036.html

    numpy.random模块中提供啦大量的随机数相关的函数。

    1 numpy中产生随机数的方法

      1)rand()   产生[0,1]的浮点随机数,括号里面的参数可以指定产生数组的形状

      2)randn()  产生标准正太分布随机数,参数含义与random相同

      3)randint()  产生指定范围的随机数,最后一个参数是元祖,他确定数组的形状

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import numpy as np
    from numpy import random as nr
     
    #只显示小数点后两位
    np.set_printoptions(precision = 2)
    r1 = nr.rand(3,4)
    r2 = nr.randn(5,4)
    r3 = nr.randint(0,10,size = (4,3))
     
    print r1
    print r2
    print r3
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [[ 0.34  0.51  0.65  0.57]
     0.97  0.16  0.62  0.37]
     0.23  0.78  0.77  0.46]]
    [[-0.69 -1.24 -0.32  1.07]
     0.05 -1.97  1.01 -1.59]
     1.51 -1.21  1.02 -0.19]
     1.49 -0.42  0.64  0.07]
     [-0.1   1.11  0.24 -0.18]]
    [[9 6 7]
     [1 9 7]
     [4 9 6]
     [3 9 0]]
    (Pdb)

     2 常用分布

      1)normal()  正太分布

      2)uniform()  均匀分布

      3)poisson()  泊松分布

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    # -*- coding: utf-8 -*-
    """
    Spyder Editor
     
    This is a temporary script file.
    """
    import numpy as np
    from numpy import random as nr
     
    #只显示小数点后两位
    np.set_printoptions(precision = 2)
     
    #第一个参数是均值,第二个参数是标准差
    r1 = nr.normal(100,10,size = (3,4))
    print r1
     
    #前两个参数分别是区间的初始值和终值
    r2 = nr.uniform(0,10,size = (3,4))
    print r2
     
    #第一个参数为指定的lanbda系数
    r3 = nr.poisson(2.0,size = (3,4))
    print r3
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [[ 100.67   98.39   99.36  103.37]
     [  98.23   95.11  107.57  111.23]
     [  97.26   75.21  110.4   112.53]]
    [[ 2.42  6.81  9.96  3.15]
     9.28  4.4   7.87  5.19]
     3.47  2.92  4.5   2.58]]
    [[3 1 5 0]
     [1 0 4 3]
     [3 1 2 1]]
    (Pdb)

    3 乱序和随机抽取

      permutation()随机生成一个乱序数组,当参数是n时,返回[0,n)的乱序,他返回一个新数组。而shuffle()则直接将原数组打乱。choice()是从指定的样本中随机抽取。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    # -*- coding: utf-8 -*-
    """
    Spyder Editor
     
    This is a temporary script file.
    """
    import numpy as np
    from numpy import random as nr
     
    #只显示小数点后两位
    np.set_printoptions(precision = 2)
     
    #返回打乱数组,原数组不变
    r1 = nr.randint(10,100,size = (3,4))
    print r1
    print nr.permutation(r1)
    print r1
     
    print nr.permutation(5)
     
    # 使用shuffle打乱数组顺序
    = np.arange(10)
    nr.shuffle(x)
    print x
     
    #xhoice()函数从指定数组中随机抽取样本
    #size参数用于指定输出数组的大小
    #replace参数为True时,进行可重复抽取,而False表示进行不可重复的抽取。默认为True
    = np.array(10)
    c1 = nr.choice(x,size = (2,3))
    print c1
     
    c2 = nr.choice(x,5,replace = False)
    print c2
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [[78 22 43 70]
     [46 87 12 32]
     [11 56 89 79]]
    [[11 56 89 79]
     [78 22 43 70]
     [46 87 12 32]]
    [[78 22 43 70]
     [46 87 12 32]
     [11 56 89 79]]
    [4 1 2 0 3]
    [3 4 9 5 8 2 7 0 6 1]
    [[4 7 9]
     [9 1 7]]
    [5 3 2 8 4]
    (Pdb)
  • 相关阅读:
    今天的温度还是有点高.....
    [React] 点击---图片90°旋转
    javascript onclick事件可以调用两个方法吗?
    vue 页面回退mounted函数不执行的问题及解决方法
    vue static和assets的区别
    js实现复制|剪切指定内容到粘贴板--clipboard
    纯前端html导出pdf--分页+不分页--html2canvas+jsPDF
    git常用命令行
    浅谈“观察者模式”那点小事儿
    [Linq] ORM
  • 原文地址:https://www.cnblogs.com/zkwarrior/p/9601320.html
Copyright © 2011-2022 走看看