np.random的随机数函数

 2023-09-11 阅读 33 评论 0

摘要:np.random的随机数函数(1) 函数说明rand(d0,d1,..,dn)根据d0‐dn创建随机数数组,浮点数, [0,1),均匀分布randn(d0,d1,..,dn)根据d0‐dn创建随机数数组,标准正态分布randint(low[,high,shape])根据shape创建随机整数或整数数组ÿ

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 npa = 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]])

python np。转载于:https://www.cnblogs.com/sunshinewang/p/8905761.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/44542.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息