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