当前位置: 代码迷 >> 综合 >> numpy中的random函数总结:诸如np.random.rand(), np.random.randn()....
  详细解决方案

numpy中的random函数总结:诸如np.random.rand(), np.random.randn()....

热度:45   发布时间:2024-01-29 20:49:49.0

numpy官方文档:

https://numpy.org/devdocs/search.htmlq=random&check_keywords=yes&area=default

1.np.random.rand()

官方文档中给出的用法是:numpy.random.rand(d0,d1,…dn) 。其中d0,d1…dn表示维度.

以给定的形状创建一个数组,并在数组中加入在[0,1]之间均匀分布的随机样本

a=np.random.rand(3,2,7)
print(a)

运行结果:

[[[0.75094243 0.34889834 0.26992789 0.89588622 0.42809119 0.964840050.6634415 ][0.62169572 0.11474597 0.94948926 0.44991213 0.57838961 0.40813680.23702698]][[0.90337952 0.57367949 0.00287033 0.61714491 0.3266449  0.52705810.8859421 ][0.35726976 0.90853515 0.62336012 0.01582124 0.92943723 0.690896920.99732285]][[0.17234051 0.13713575 0.93259546 0.69681816 0.06600017 0.755463050.75387619][0.92302454 0.71152476 0.12427096 0.01988013 0.02621099 0.028306490.24621107]]]

2.np.random.randn()

官方文档中给出的用法是:numpy.random.rand(d0,d1,…dn)

以给定的形状创建一个数组,数组元素来符合标准正态分布N(0,1)

若要获得一般正态分布则可用sigma * np.random.randn(…) + mu进行表示

a=5*np.random.randn(3,2)+2 #这是一般的正态分布
print(a)

运算结果:

[[-0.23564282  8.12253852][ 4.01745821  4.96789262][-3.47455923  2.84691217]]

3.numpy.random.randint()

官方文档中给出的用法是:numpy.random.randint(low,high=None,size=None,dtype)

生成在半开半闭区间[low,high)上离散均匀分布的整数值;若high=None,则取值区间变为[0,low)

a=np.random.randint(2,7,size=(2,3))
print(a)

运算结果:

[[2 6 4][3 2 6]]

4.numpy.random.random_integers()

官方文档中给出的用法是:

numpy.random.random_integers(low,high=None,size=None)

生成闭区间[low,high]上离散均匀分布的整数值;若high=None,则取值区间变为[1,low]

a=np.random.random_integers(3,8,size=(2,4))
print(a)

运行结果:

[[4 7 3 7][7 4 6 4]]

此外,若要将【a,b】区间分成N等分,也可以用此函数实现 
a+(b-a)*(numpy.random.random_integers(N)-1)/(N-1)

  相关解决方案