NumPy numpy.random.rand()函数
Suraj Joshi
2023年1月30日
Python Numpynumpy.random.rand()
函数生成具有随机值的指定形状的数组。
numpy.random.rand()
的语法
numpy.random.rand(d0, d1, ..., dn)
参数
d0, d1, ..., dn |
整数。表示随机函数输出数组的维度。如果没有指定值,则返回一个标量值。 |
返回值
它返回一个指定形状的随机数组。
示例代码:numpy.random.rand()
方法
import numpy as np
x = np.random.rand()
print(x)
输出:
0.6222151413197674
由于没有指定输出数组的大小,所以会产生一个随机数。
生成的输出数的范围在 0 和 1 之间。
当你多次运行同一代码时,你可能会得到不同的随机数。
为了生成常量输出,我们固定 np.random(
)函数的 seed
。
import numpy as np
np.random.seed(0)
x = np.random.rand()
print(x)
输出:
0.5488135039273248
每次运行该函数都会产生一个恒定的输出。
示例代码: 指定输出数组的形状 numpy.random.rand()
方法
为了生成固定大小和形状的数组,我们在 numpy.random.rand()
函数中指定了决定输出数组形状的参数。
用 numpy.random.rand()
方法生成一维数组
import numpy as np
np.random.seed(0)
x = np.random.rand(5)
print(x)
输出:
[0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 ]
它产生一个由随机数组成的长度为 5
的一维随机数组。
这里的数字也将位于 (0,1)
的范围内。
由于种子是固定的,所以每次运行它都会生成相同的随机数。
如果我们需要生成大于 1
的数字,我们可以简单地将数组乘以所需的范围。
import numpy as np
np.random.seed(0)
x = np.random.rand(5)*10
print(x)
输出:
[5.48813504 7.15189366 6.02763376 5.44883183 4.23654799]
它生成的随机数范围是 1 到 10。
用 numpy.random.rand()
方法生成二维数组
import numpy as np
np.random.seed(0)
x = np.random.rand(2,3)
print("Array x:")
print(x)
print("\n Shape of Array x:")
print(x.shape)
输出:
Array x:
[[0.5488135 0.71518937 0.60276338]
[0.54488318 0.4236548 0.64589411]]
Shape of Array x:
(2, 3)
上例使用 numpy.random.rand()
方法生成了 2 行 3 列的二维随机数组。
用 numpy.random.rand()
方法生成高维数组
import numpy as np
np.random.seed(0)
x = np.random.rand(2,3,2,3)
print("Array x:")
print(x)
print("\n Shape of Array x:")
print(x.shape)
输出:
Array x:
[[[[0.5488135 0.71518937 0.60276338]
[0.54488318 0.4236548 0.64589411]]
[[0.43758721 0.891773 0.96366276]
[0.38344152 0.79172504 0.52889492]]
[[0.56804456 0.92559664 0.07103606]
[0.0871293 0.0202184 0.83261985]]]
[[[0.77815675 0.87001215 0.97861834]
[0.79915856 0.46147936 0.78052918]]
[[0.11827443 0.63992102 0.14335329]
[0.94466892 0.52184832 0.41466194]]
[[0.26455561 0.77423369 0.45615033]
[0.56843395 0.0187898 0.6176355 ]]]]
Shape of Array x:
(2, 3, 2, 3)
使用 numpy.random.rand()
方法生成形状为 (2, 3, 2, 3)
的四维随机数组。
同样,我们也可以使用 numpy.random.rand()
方法生成任意大小的随机数组。
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn