numpy下的隨機數

2021-08-28 13:38:40 字數 3132 閱讀 3257

在使用python進行資料處理時,往往需要用到大量的隨機資料,那如何構造這麼多資料呢?python的第三方庫numpy庫中提供了random函式來實現這個功能。

本文將根據官方文件以及其他博友的部落格一起來談論常見的random函式以及使用

官方文件

首先說下numpy.random.seed()與numpy.random.randomstate()這兩個在資料處理中比較常用的函式,兩者實現的作用是一樣的,都是使每次隨機生成數一樣,具體可見下圖

官方文件中給出的用法是:numpy.random.rand(d0,d1,…dn)

以給定的形狀建立乙個陣列,並在陣列中加入在[0,1]之間均勻分布的隨機樣本。

用法及實現

官方文件中給出的用法是:numpy.random.rand(d0,d1,…dn)

以給定的形狀建立乙個陣列,陣列元素來符合標準正態分佈n(0,1)

若要獲得一般正態分佈sigma * np.random.randn(…) + mu進行表示

用法及實現

官方文件中給出的用法是:numpy.random.randint(low,high=none,size=none,dtype)

生成在半開半閉區間[low,high)上離散均勻分布的整數值;若high=none,則取值區間變為[0,low)

用法及實現

high=none的情形

官方文件中給出的用法是:

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

生成閉區間[low,high]上離散均勻分布的整數值;若high=none,則取值區間變為[1,low]

用法及實現

high=none的情形

high≠none的情形

此外,若要將【a,b】區間分成n等分,也可以用此函式實現

a+(b-a)*(numpy.random.random_integers(n)-1)/(n-1)

5.numpy.random_sanmple()

官方文件中給出的用法是:

numpy.random.random_sample(size=none)

以給定形狀返回[0,1)之間的隨機浮點數

用法及實現

其他函式,numpy.random.random();numpy.random.ranf()

numpy.random.sample()用法及實現都與它相同

6.numpy.random.choice()

官方文件中給出的用法:

numpy.random.choice(a,size=none,replace=true,p=none)

若a為陣列,則從a中選取元素;若a為單個int型別數,則選取range(a)中的數

replace是bool型別,為true,則選取的元素會出現重複;反之不會出現重複

p為陣列,裡面存放選到每個數的可能性,即概率

用法及實現

引數的意義為:

loc:float

此概率分布的均值(對應著整個分布的中心centre)

scale:float

此概率分布的標準差(對應於分布的寬度,scale越大越矮胖,scale越小,越瘦高)

size:int or tuple of ints

輸出的shape,預設為none,只輸出乙個值

經常會用到的np.random.randn(size)所謂標準正態分佈(μ=0,σ=1μ=0,σ=1),對應於np.random.normal(loc=0, scale=1, size)

NumPy隨機數函式

import numpy as np a np.random rand 3,4,5 每個元素為0 1之間的浮點數 sn np.random randn 3,4,5 每個元素是根據n 0,1 的方式選取出來的浮點數 b np.random randint 100,200,3,4 每個元素為100 20...

numpy生成隨機數

這裡只列出重要的幾個函式 使用numpy.random.randint low,high none,size none,dtype i 範圍為 low,high 不包括high這個值。生成的是離散的均勻分布 discrete uniform distribution 使用numpy.random.r...

Numpy產生隨機數

numpy中的random模組包含了很多方法可以用來產生隨機數,這篇文章將對random中的一些常用方法做乙個總結。1 numpy.random.rand d0,d1,dn 作用 產生乙個給定形狀的陣列 其實應該是ndarray物件或者是乙個單值 陣列中的值服從 0,1 之間的均勻分布。引數 d0,...