您好,登錄后才能下訂單哦!
np.random隨機數函數怎么在python項目中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
np.random的隨機數函數(1)
函數 | 說明 |
---|---|
rand(d0,d1,..,dn) | 根據d0‐dn創建隨機數數組,浮點數, [0,1),均勻分布 |
randn(d0,d1,..,dn) | 根據d0‐dn創建隨機數數組,標準正態分布 |
randint(low[,high,shape]) | 根據shape創建隨機整數或整數數組,范圍是[low, high) |
seed(s) | 隨機數種子, s是給定的種子值 |
np.random.rand
import numpy as np a = np.random.rand(3, 4, 5) a Out[3]: array([[[0.28576737, 0.96566496, 0.59411491, 0.47805199, 0.97454449], [0.15970049, 0.35184063, 0.66815684, 0.13571458, 0.41168113], [0.66737322, 0.91583297, 0.68033204, 0.49083857, 0.33549182], [0.52797439, 0.23526146, 0.39731129, 0.26576975, 0.26846021]], [[0.46860445, 0.84988491, 0.92614786, 0.76410349, 0.00283208], [0.88036955, 0.01402271, 0.59294569, 0.14080713, 0.72076521], [0.0537956 , 0.08118672, 0.59281986, 0.60544876, 0.77931621], [0.41678215, 0.24321042, 0.25167563, 0.94738625, 0.86642919]], [[0.36137271, 0.21672667, 0.85449629, 0.51065516, 0.16990425], [0.97507815, 0.78870518, 0.36101021, 0.56538782, 0.56392004], [0.93777677, 0.73199966, 0.97342172, 0.42147127, 0.73654324], [0.83139234, 0.00221262, 0.51822612, 0.60964223, 0.83029954]]])
np.random.randn
b = np.random.randn(3, 4, 5) b Out[5]: array([[[ 0.09170952, -0.36083675, -0.18189783, -0.52370155, -0.61183783], [ 1.05285606, -0.82944771, -0.93438396, 0.32229904, -0.85316565], [ 1.41103666, -0.32534111, -0.02202953, 1.02101228, 1.59756695], [-0.33896372, 0.42234042, 0.14297587, -0.70335248, 0.29436318]], [[ 0.73454216, 0.35412624, -1.76199508, 1.79502353, 1.05694614], [-0.42403323, -0.36551581, 0.54033378, -0.04914723, 1.15092556], [ 0.48814148, 1.09265266, 0.65504441, -1.04280834, 0.70437122], [ 2.92946803, -1.73066859, -0.30184912, 1.04918753, -1.58460681]], [[ 1.24923498, -0.65467868, -1.30427044, 1.49415265, 0.87520623], [-0.26425316, -0.89014489, 0.98409579, 1.13291179, -0.91343016], [-0.71570644, 0.81026219, -0.00906133, 0.90806035, -0.914998 ], [ 0.22115875, -0.81820313, 0.66359573, -0.1490853 , 0.75663096]]])
np.random.randint
c = np.random.randint(100, 200, (3, 4)) c Out[9]: array([[104, 140, 161, 193], [134, 147, 126, 120], [117, 141, 162, 137]])
numpy.random.randint的詳細用法 - python
函數的作用是,返回一個隨機整型數,范圍從低(包括)到高(不包括),即[low, high)。如果沒有寫參數high的值,則返回[0,low)的值。
numpy.random.randint(low, high=None, size=None, dtype='l')
參數如下:
參數 | 描述 |
---|---|
low: int | 生成的數值最低要大于等于low。 (hign = None時,生成的數值要在[0, low)區間內) |
high: int (可選) | 如果使用這個值,則生成的數值在[low, high)區間。 |
size: int or tuple of ints(可選) | 輸出隨機數的尺寸,比如size=(m * n* k) 則輸出同規模即m * n* k 個隨機數。默認是None 的,僅僅返回滿足要求的單一隨機數。 |
dtype: dtype(可選): | 想要輸出的格式。如int64、int等等 |
輸出:
返回一個隨機數或隨機數數組
例子
>>> np.random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])
>>> np.random.randint(1, size=10)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])>>> np.random.randint(5, size=(2, 4))
array([[4, 0, 2, 1],
[3, 2, 2, 0]])>>>np.random.randint(2, high=10, size=(2,3))
array([[6, 8, 7],
[2, 5, 2]])
np.random.seed
隨機種子生成器,使下一次生成的隨機數為由種子數決定的“特定”的隨機數,如果seed中參數為空,則生成的隨機數“完全”隨機。參考和文檔。
np.random.seed(10) np.random.randint(100, 200, (3 ,4)) Out[11]: array([[109, 115, 164, 128], [189, 193, 129, 108], [173, 100, 140, 136]]) np.random.seed(10) np.random.randint(100 ,200, (3, 4)) Out[13]: array([[109, 115, 164, 128], [189, 193, 129, 108], [173, 100, 140, 136]])
np.random的隨機數函數(2)
函數 | 說明 |
---|---|
shuffle(a) | 根據數組a的第1軸(也就是最外層的維度)進行隨排列,改變數組x |
permutation(a) | 根據數組a的第1軸產生一個新的亂序數組,不改變數組x |
choice(a[,size,replace,p]) | 從一維數組a中以概率p抽取元素,形成size形狀新數組replace表示是否可以重用元素,默認為False |
np.random.shuffle
a = np.random.randint(100, 200, (3, 4)) a Out[15]: array([[116, 111, 154, 188], [162, 133, 172, 178], [149, 151, 154, 177]]) np.random.shuffle(a) a Out[17]: array([[116, 111, 154, 188], [149, 151, 154, 177], [162, 133, 172, 178]]) np.random.shuffle(a) a Out[19]: array([[162, 133, 172, 178], [116, 111, 154, 188], [149, 151, 154, 177]])
可以看到,a發生了變化,軸。
np.random.permutation
b = np.random.randint(100, 200, (3, 4)) b Out[21]: array([[113, 192, 186, 130], [130, 189, 112, 165], [131, 157, 136, 127]]) np.random.permutation(b) Out[22]: array([[113, 192, 186, 130], [130, 189, 112, 165], [131, 157, 136, 127]]) b Out[24]: array([[113, 192, 186, 130], [130, 189, 112, 165], [131, 157, 136, 127]])
可以看到,b沒有發生改變。
np.random.choice
c = np.random.randint(100, 200, (8,)) c Out[26]: array([123, 194, 111, 128, 174, 188, 109, 115]) np.random.choice(c, (3, 2)) Out[27]: array([[111, 123], [109, 115], [123, 128]])#默認可以出現重復值 np.random.choice(c, (3, 2), replace=False) Out[28]: array([[188, 111], [123, 115], [174, 128]])#不允許出現重復值 np.random.choice(c, (3, 2),p=c/np.sum(c)) Out[29]: array([[194, 188], [109, 111], [174, 109]])#指定每個值出現的概率
np.random的隨機數函數(3)
函數 | 說明 |
---|---|
uniform(low,high,size) | 產生具有均勻分布的數組,low起始值,high結束值,size形狀 |
normal(loc,scale,size) | 產生具有正態分布的數組,loc均值,scale標準差,size形狀 |
poisson(lam,size) | 產生具有泊松分布的數組,lam隨機事件發生率,size形狀 |
u = np.random.uniform(0, 10, (3, 4)) u Out[31]: array([[9.83020867, 4.67403279, 8.75744495, 2.96068699], [1.31291053, 8.42817933, 6.59036304, 5.95439605], [4.36353698, 3.56250327, 5.87130925, 1.49471337]]) n = np.random.normal(10, 5, (3, 4)) n Out[33]: array([[ 8.17771928, 4.17423265, 3.28465058, 17.2669643 ], [10.00584724, 9.94039808, 13.57941572, 4.07115727], [ 6.81836048, 6.94593078, 3.40304302, 7.19135792]]) p = np.random.poisson(2.0, (3, 4)) p Out[35]: array([[0, 2, 2, 1], [2, 0, 1, 3], [4, 2, 0, 3]])
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。