numpy 之 random 幾個函式

2021-08-19 04:59:28 字數 2094 閱讀 3256

1. numpy.random.rand(d0,d1,d2,...)

d0,d1,d2 即生成的array 的維數, 其元素是基於[0,1)的均勻分布

>>> import numpy as np

>>> np.random.rand(2)

array([ 0.1767244 , 0.48286388])

>>> np.random.rand(3,2)

array([[ 0.29857113, 0.38777332],

[ 0.0523596 , 0.89786821],

[ 0.36952325, 0.61772361]])

2. numpy.random.randn(d0,d1,d2,...)

生成的array 元素是基於均值為0,方差是1 的標準正太分布 , 若是 (μ, σ**2), 則可以表示為:

σ * numpy.random.randn(d0,d1,..)+

μ

>>> import numpy as np

>>> np.random.randn()

0.3988882823736295

>>> 2.5 * np.random.randn(2,4)+3

array([[ 0.01079296, -2.98224832, 1.27822089, 4.86307742],

[ 2.53246081, 1.4376604 , 4.00155875, 5.8419745 ]])

3. numpy.random.randint(low, high=none, size=none, dtype='l')

返回隨機整數,基於[low, high)的離散均勻分布, 大小是size 即維數和個數,若high 沒有賦值,則預設是[0, low)

>>> import numpy as np

>>> np.random.randint(2, size=10)

array([1, 0, 1, 1, 1, 1, 0, 1, 1, 1])

>>> np.random.randint(5, size=(2,4))

array([[3, 1, 0, 1],

[0, 0, 2, 2]])

4. numpy.random.random_integers(low, high=none, size=none)

返回的整數在[low, high],全閉區間,若high 略去,則[1, low]

>>> import numpy as np

>>> np.random.random_integers(5)

3>>> np.random.random_integers(5, size=(3,2))

array([[2, 2],

[3, 1],

[4, 3]])

# 生成 [0,2.5]之間的5個隨機數

>>> 2.5 * (np.random.random_integers(5, size=(5,))-1)/4

array([ 1.25 , 0. , 1.875, 2.5 , 0. ])

5. numpy.random.random_sample(size=none)

返回隨機的浮點數介於[0.0, 1.0),半開區間, 連續分布

>>> import numpy as np

>>> np.random.random_sample()

0.18680050911056523

>>> np.random.random_sample((5,))

array([ 0.18500924, 0.71237181, 0.49690354, 0.29570659, 0.35099283])

>>> 5*np.random.random_sample((3,2)) - 5

array([[-4.71657377, -3.47797866],

[-4.14982114, -1.66394337],

[-0.96794969, -2.88891439]])

為什麼你用不好Numpy的random函式?

在python資料分析的學習和應用過程中,經常需要用到numpy的隨機函式,由於隨機函式random的功能比較多,經常會混淆或記不住,下面我們一起來彙總學習下。import numpy as npnumpy.random.rand d0,d1,dn np.random rand 4,2 array ...

numpy之隨機數模組 random模組

一 二項分布 隨機數 模組為random模組 生成服從特定統計規律的隨機數序列 1.二項分布 binomial 就是重複n次的伯努利實驗,每次實驗只有兩種可能的結果,而且兩種結果發生與否相互獨立。事件發生與否的概率在每次實驗中都是保持不變的 numpy中實現 np.random.binomial n...

Numpy學習 常用random函式

numpy.random模組下提供了一些常用的隨機函式,可以生成不同概率的隨機數。函式描述 rand d0,d1 dn 返回均勻分布的隨機數 randn d0,d1 dn 返回標準分布的隨機數 randint low,high,size,dtype 返回給定開區間的隨機整數 random inter...