L6-Numpy中的隨機函數


本文彙總了Numpy中常見的取隨機數的函數,介紹了基本用法。

1、rand()

指定的輸出的二維數組的型,生成[0,1)之間的數據

import numpy as np
# 型:(4, 2)
print(np.random.rand(4,2))
'''
[[0.07103606 0.0871293 ]
 [0.0202184  0.83261985]
 [0.77815675 0.87001215]
 [0.97861834 0.79915856]]
 '''
 # 不指定,輸出單個元素
print(np.random.rand())
''' 0.46147936225293185'''
 

2、randn()

randn()函數返回一個或一組樣本,具有標準正態分佈。即以0爲均值、以1爲標準差的正態分佈,記爲N(0,1) 。

print(np.random.randn())
print(np.random.randn(4,2))

3、randint()

返回隨機整數,範圍區間爲[low,high)
參數:low爲最小值,high爲最大值,size爲數組維度大小,dtype爲數據類型,默認的數據類型是np.int,high沒有填寫時,默認生成隨機數的範圍是[0,low)

print(np.random.randint(1,size=5))
# [0 0 0 0 0]
print(np.random.randint(5))
# 2
print(np.random.randint(-5,5,size=(2,2)))
'''
[[-5 -5]
 [-1  0]]
'''

4、random()

生成[0,1)之間的浮點數

print(np.random.random(size=(2,2)))
'''
[[0.44994999 0.61306346]
 [0.90234858 0.09928035]]
'''

5、choice()

從給定的一維數組中生成隨機數。語法如下:
numpy.random.choice(a, size=None, replace=True, p=None)

參數說明:
a爲一維數組類似數據或整數;
size指定輸出數組維度;
p爲數組a中的數據元素出現的概率
a爲整數時,對應的一維數組爲np.arange(a)
參數p的長度與參數a的長度需要一致;
參數p爲概率,p裏的數據之和應爲1

# In[]
print(np.random.choice(5, 3))
# [3 4 4]
# 生成不重複的 replace=False
print(np.random.choice(5, 3, replace=False))
# [1 2 0]
print(np.random.choice(5, size=(3,2)))
'''
[[4 0]
 [4 3]
 [2 0]]
 '''
demo_list = ['lenovo', 'sansumg','moto','xiaomi', 'iphone']
print(np.random.choice(demo_list,size=(3,3)))
'''
[['sansumg' 'sansumg' 'xiaomi']
 ['lenovo' 'lenovo' 'sansumg']
 ['moto' 'iphone' 'moto']]
'''
# 設定隨機概率
demo_list = ['lenovo', 'sansumg','moto','xiaomi', 'iphone']
print(np.random.choice(demo_list,size=(3,3)
, p=[0.1,0.6,0.1,0.1,0.1]))
'''
[['iphone' 'xiaomi' 'sansumg']
 ['lenovo' 'sansumg' 'lenovo']
 ['sansumg' 'iphone' 'sansumg']]
'''

6、隨機種子seed()

當我們設置相同的seed,每次生成的隨機數相同。
如果不設置seed,則每次會生成不同的隨機數

np.random.seed(0)
print(np.random.rand(5))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章