我爱编程

NumPy的随机数函数字库

2017-11-06  本文已影响0人  夏天才爱睡觉

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

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

In [112]: a
Out[112]: 
array([[[ 0.63950086,  0.49401844,  0.95092445,  0.6296413 ,  0.12765929],
        [ 0.16655989,  0.65606825,  0.18283651,  0.16115097,  0.52061122],
        [ 0.18161837,  0.25358793,  0.57434442,  0.69075542,  0.23953812],
        [ 0.08576846,  0.95448335,  0.67868061,  0.0590973 ,  0.84406012]],

       [[ 0.13214632,  0.86184715,  0.8840964 ,  0.76590103,  0.25946326],
        [ 0.96485042,  0.84343539,  0.01330944,  0.90897105,  0.31790772],
        [ 0.79015567,  0.51506586,  0.27724041,  0.1917755 ,  0.44754523],
        [ 0.41862119,  0.91555119,  0.43644534,  0.09347175,  0.17778366]],

       [[ 0.71664568,  0.90315897,  0.9189659 ,  0.1539199 ,  0.45731278],
        [ 0.14990219,  0.93837411,  0.00191613,  0.0168762 ,  0.6536925 ],
        [ 0.96888584,  0.79590976,  0.48246297,  0.80830351,  0.31208944],
        [ 0.43943862,  0.26383419,  0.9901099 ,  0.76466069,  0.63373991]]])

In [113]: sn=np.random.randn(3,4,5)

In [114]: sn
Out[114]: 
array([[[-0.08168246, -0.56978596,  1.32457461,  1.43918295, -1.29833204],
        [ 0.38862065,  0.4401511 , -0.40245539, -0.13615733, -0.13053578],
        [-0.91701962,  1.76102932,  0.68526847,  0.81736871, -0.0638541 ],
        [-1.62348669,  0.15310889,  0.23629247,  0.83396329, -0.44141945]],

       [[ 0.72809728, -0.27064699,  0.5788344 , -0.24059207, -0.1946698 ],
        [-0.21123992,  0.9043685 ,  0.56424924,  0.88563487,  0.89425021],
        [-1.08759379, -0.12982953,  0.94186859, -0.88278104, -0.8776474 ],
        [-1.37680398,  0.51352443, -0.1981024 ,  1.68808853, -0.15855771]],

       [[ 0.61914595,  0.4525279 ,  0.71314203, -1.54645584,  1.23416512],
        [-1.16559168,  0.69095569, -0.8341331 ,  1.27323713, -0.69553003],
        [ 0.55813805,  0.30831781,  0.85372412, -0.08877067,  1.09368115],
        [-0.98600832,  0.234836  , -1.5124326 ,  0.17147776, -0.99554203]]])

In [115]: b=np.random.randint(100,200,(3,4))

In [116]: b
Out[116]: 
array([[114, 160, 184, 124],
       [141, 178, 142, 153],
       [172, 142, 191, 145]])
b=np.random.randint(100,200,(3,4))

b
Out[116]: 
array([[114, 160, 184, 124],
       [141, 178, 142, 153],
       [172, 142, 191, 145]])

np.random.seed(10)

np.random.randint(100,200,(3,4))
Out[118]: 
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[120]: 
array([[109, 115, 164, 128],
       [189, 193, 129, 108],
       [173, 100, 140, 136]])

通过设定和重复使用随机树种seed,可以得到相同的随机数数组

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

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

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

函数 说明
uniform(low,high,size) 产生具有均匀分布的数组,low起始值,high结束值,size形状
normal(loc,scale,size) 产生具有正态分布的数组,loc均值,scale标准差,size形状
poisson(lam,size) 产生具有泊松分布的数组,lam随机事件发生率,size形状
In [125]: u=np.random.uniform(0,10,(3,4))

In [126]: u
Out[126]: 
array([[ 4.13667374,  7.78728808,  5.83901366,  1.82631436],
       [ 8.26082248,  1.05401833,  2.83576679,  0.65563266],
       [ 0.56444187,  7.65455818,  0.11788029,  6.11943341]])

In [127]: n=np.random.normal(10,5,(3,4))

In [128]: n
Out[128]: 
array([[ 13.39465597,   0.43222893,   5.28770972,   1.2722851 ],
       [  4.89527367,   9.18965487,   6.7101455 ,  12.11056531],
       [ 13.12011669,  12.50820048,  14.20717363,   1.79875008]])
上一篇下一篇

猜你喜欢

热点阅读