首页 > 编程笔记 > Python笔记 阅读:1

NumPy生成随机数组的多种方法(附带实例)

生成随机数组主要使用 NumPy 的 random 模块,下面介绍几个常用的生成随机数组的函数。

NumPy rand()函数

rand() 函数用于生成 (0, 1) 区间的随机数组,输入一个值随机生成一维数组,输入一对值随机生成二维数组,语法格式如下:
numpy.random.rand(d0, d1, d2, d3..., dn)
参数 d0,d1,...,dn 为整数,表示维数,可以为空值。

【实例】随机生成一维数组和二维数组,程序代码如下:
import numpy as np
n = np.random.rand(5)
print('随机生成0到1之间的一维数组:')
print(n)
n1 = np.random.rand(2, 5)
print('随机生成0到1之间的二维数组:')
print(n1)
运行程序,结果如下:

随机生成0到1之间的一维数组:
[0.61263942 0.91212086 0.52012924 0.98204632 0.31633564]
随机生成0到1之间的二维数组:
[[0.82044812 0.26050245 0.57000398 0.6050845  0.50440925]
[0.29113919 0.86638283 0.74161101 0.0728488  0.4466494 ]]

NumPy randn() 函数

randn() 函数用于生成满足正态分布的随机数组,语法格式如下:
numpy.random.randn(d0, d1, d2, d3..., dn)

【实例】生成满足正态分布的随机数组,程序代码如下:
import numpy as np
n1 = np.random.randn(5)
print('随机生成满足正态分布的一维数组:')
print(n1)
n2 = np.random.randn(2, 5)
print('随机生成满足正态分布的二维数组:')
print(n2)
运行程序,结果如下:

随机生成满足正态分布的一维数组:
[-0.05282077  0.79946288  0.96003714  0.29555332 -1.26818832]
随机生成满足正态分布的二维数组:
[[ 1.6872899  1.62042986  2.69278922 -0.64467268 -1.75645902]
[ 1.0973791  -0.22962313 -0.26965705  0.1225163  -1.89051741]]

NumPy randint()函数

randint() 函数与 NumPy 的 arange() 函数类似。randint() 函数用于生成一定范围内的随机数组,返回值为左闭右开区间,语法格式如下:
numpy.random.randint(low, high=None, size=None)
参数说明:
【实例】生成一定范围内的随机数组,程序代码如下:
import numpy as np
n1 = np.random.randint(1, 3, 10)
print('随机生成10个1到3之间且不包括3的整数:')
print(n1)
n2 = np.random.randint(5, 10)
print('size数组大小为空,随机返回一个整数:')
print(n2)
n3 = np.random.randint(5, size=(2, 5))
print('随机生成5以内的二维数组')
print(n3)
运行程序,结果如下:

随机生成10个1到3之间且不包括3的整数:
[2 1 2 1 2 2 2 1 1]
size数组大小为空,随机返回一个整数:
8
随机生成5以内的二维数组:
[[2 2 2 4 2]
[3 1 3 1 4]]

NumPy normal()函数

normal() 函数用于生成满足正态分布的随机数组,语法格式如下:
numpy.random.normal(loc, scale, size)
参数说明:
【实例】生成满足正态分布的随机数组,程序代码如下:
import numpy as np
n = np.random.normal(loc=0, scale=0.1, size=10)
print(n)
运行程序,结果如下:

[ 0.08530096  0.0404147 -0.0035828  0.05405901 -0.01677737 -0.02448481
  0.13410224 -0.09780364  0.06095256 -0.0431846 ]

相关文章