zoukankan      html  css  js  c++  java
  • np.random的随机数函数

    np.random的随机数函数(1)

    函数 说明
    rand(d0,d1,..,dn) 根据d0‐dn创建随机数数组,浮点数, [0,1),均匀分布
    randn(d0,d1,..,dn) 根据d0‐dn创建随机数数组,标准正态分布
    randint(low[,high,shape]) 根据shape创建随机整数或整数数组,范围是[low, high)
    seed(s) 随机数种子, s是给定的种子值

    np.random.rand

    import numpy as np
    
    a = np.random.rand(3, 4, 5)
    
    a
    Out[3]: 
    array([[[0.28576737, 0.96566496, 0.59411491, 0.47805199, 0.97454449],
            [0.15970049, 0.35184063, 0.66815684, 0.13571458, 0.41168113],
            [0.66737322, 0.91583297, 0.68033204, 0.49083857, 0.33549182],
            [0.52797439, 0.23526146, 0.39731129, 0.26576975, 0.26846021]],
    
           [[0.46860445, 0.84988491, 0.92614786, 0.76410349, 0.00283208],
            [0.88036955, 0.01402271, 0.59294569, 0.14080713, 0.72076521],
            [0.0537956 , 0.08118672, 0.59281986, 0.60544876, 0.77931621],
            [0.41678215, 0.24321042, 0.25167563, 0.94738625, 0.86642919]],
    
           [[0.36137271, 0.21672667, 0.85449629, 0.51065516, 0.16990425],
            [0.97507815, 0.78870518, 0.36101021, 0.56538782, 0.56392004],
            [0.93777677, 0.73199966, 0.97342172, 0.42147127, 0.73654324],
            [0.83139234, 0.00221262, 0.51822612, 0.60964223, 0.83029954]]])
    

    np.random.randn

    b = np.random.randn(3, 4, 5)
    
    b
    Out[5]: 
    array([[[ 0.09170952, -0.36083675, -0.18189783, -0.52370155,
             -0.61183783],
            [ 1.05285606, -0.82944771, -0.93438396,  0.32229904,
             -0.85316565],
            [ 1.41103666, -0.32534111, -0.02202953,  1.02101228,
              1.59756695],
            [-0.33896372,  0.42234042,  0.14297587, -0.70335248,
              0.29436318]],
    
           [[ 0.73454216,  0.35412624, -1.76199508,  1.79502353,
              1.05694614],
            [-0.42403323, -0.36551581,  0.54033378, -0.04914723,
              1.15092556],
            [ 0.48814148,  1.09265266,  0.65504441, -1.04280834,
              0.70437122],
            [ 2.92946803, -1.73066859, -0.30184912,  1.04918753,
             -1.58460681]],
    
           [[ 1.24923498, -0.65467868, -1.30427044,  1.49415265,
              0.87520623],
            [-0.26425316, -0.89014489,  0.98409579,  1.13291179,
             -0.91343016],
            [-0.71570644,  0.81026219, -0.00906133,  0.90806035,
             -0.914998  ],
            [ 0.22115875, -0.81820313,  0.66359573, -0.1490853 ,
              0.75663096]]])
    

    np.random.randint

    c = np.random.randint(100, 200, (3, 4))
    
    c
    Out[9]: 
    array([[104, 140, 161, 193],
           [134, 147, 126, 120],
           [117, 141, 162, 137]])
    

    np.random.seed

    随机种子生成器,使下一次生成的随机数为由种子数决定的“特定”的随机数,如果seed中参数为空,则生成的随机数“完全”随机。参考文档

    np.random.seed(10)
    
    np.random.randint(100, 200, (3 ,4))
    Out[11]: 
    array([[109, 115, 164, 128],
           [189, 193, 129, 108],
           [173, 100, 140, 136]])
    
    np.random.seed(10)
    
    np.random.randint(100 ,200, (3, 4))
    Out[13]: 
    array([[109, 115, 164, 128],
           [189, 193, 129, 108],
           [173, 100, 140, 136]])
    

    np.random的随机数函数(2)

    函数 说明
    shuffle(a) 根据数组a的第1轴(也就是最外层的维度)进行随排列,改变数组x
    permutation(a) 根据数组a的第1轴产生一个新的乱序数组,不改变数组x
    choice(a[,size,replace,p]) 从一维数组a中以概率p抽取元素,形成size形状新数组replace表示是否可以重用元素,默认为False

    np.random.shuffle

    a = np.random.randint(100, 200, (3, 4))
    
    a
    Out[15]: 
    array([[116, 111, 154, 188],
           [162, 133, 172, 178],
           [149, 151, 154, 177]])
    
    np.random.shuffle(a)
    
    a
    Out[17]: 
    array([[116, 111, 154, 188],
           [149, 151, 154, 177],
           [162, 133, 172, 178]])
    
    np.random.shuffle(a)
    
    a
    Out[19]: 
    array([[162, 133, 172, 178],
           [116, 111, 154, 188],
           [149, 151, 154, 177]])
    

    可以看到,a发生了变化,轴。

    np.random.permutation

    b = np.random.randint(100, 200, (3, 4))
    
    b
    Out[21]: 
    array([[113, 192, 186, 130],
           [130, 189, 112, 165],
           [131, 157, 136, 127]])
    
    np.random.permutation(b)
    Out[22]: 
    array([[113, 192, 186, 130],
           [130, 189, 112, 165],
           [131, 157, 136, 127]])
    
    b
    Out[24]: 
    array([[113, 192, 186, 130],
           [130, 189, 112, 165],
           [131, 157, 136, 127]])
    

    可以看到,b没有发生改变。

    np.random.choice

    c = np.random.randint(100, 200, (8,))
    
    c
    Out[26]: array([123, 194, 111, 128, 174, 188, 109, 115])
    
    np.random.choice(c, (3, 2))
    Out[27]: 
    array([[111, 123],
           [109, 115],
           [123, 128]])#默认可以出现重复值
    
    np.random.choice(c, (3, 2), replace=False)
    Out[28]: 
    array([[188, 111],
           [123, 115],
           [174, 128]])#不允许出现重复值
    
    np.random.choice(c, (3, 2),p=c/np.sum(c))
    Out[29]: 
    array([[194, 188],
           [109, 111],
           [174, 109]])#指定每个值出现的概率
    

    np.random的随机数函数(3)

    函数 说明
    uniform(low,high,size) 产生具有均匀分布的数组,low起始值,high结束值,size形状
    normal(loc,scale,size) 产生具有正态分布的数组,loc均值,scale标准差,size形状
    poisson(lam,size) 产生具有泊松分布的数组,lam随机事件发生率,size形状
    u = np.random.uniform(0, 10, (3, 4))
    
    u
    Out[31]: 
    array([[9.83020867, 4.67403279, 8.75744495, 2.96068699],
           [1.31291053, 8.42817933, 6.59036304, 5.95439605],
           [4.36353698, 3.56250327, 5.87130925, 1.49471337]])
    
    n = np.random.normal(10, 5, (3, 4))
    
    n
    Out[33]: 
    array([[ 8.17771928,  4.17423265,  3.28465058, 17.2669643 ],
           [10.00584724,  9.94039808, 13.57941572,  4.07115727],
           [ 6.81836048,  6.94593078,  3.40304302,  7.19135792]])
    
    p = np.random.poisson(2.0, (3, 4))
    
    p
    Out[35]: 
    array([[0, 2, 2, 1],
           [2, 0, 1, 3],
           [4, 2, 0, 3]])
    
  • 相关阅读:
    开源项目
    [Accessibility] Missing contentDescription attribute on image [可取行]失踪contentDescription属性图像
    Android 布局 中实现适应屏幕大小及组件滚动
    EF 错误记录
    EasyUI 加载时需要显示和隐藏 panel(面板)内容破版问题
    IE 报表缩放后页面破版
    VS 2017 引入nuget 问题
    SSRS 报表显示页面 asp net session丢失或者找不到 asp net session has expired or could not be found()
    log4net 配置
    网站
  • 原文地址:https://www.cnblogs.com/sunshinewang/p/8905761.html
Copyright © 2011-2022 走看看