NumPy numpy.random.rand()函数

Suraj Joshi 2023年1月30日
  1. numpy.random.rand() 的语法
  2. 示例代码:numpy.random.rand() 方法
  3. 示例代码: 指定输出数组的形状 numpy.random.rand() 方法
NumPy numpy.random.rand()函数

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 avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn