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