您好,登錄后才能下訂單哦!
numpy中生成隨機數的常用函數有哪些?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
1、使用numpy生成隨機數的幾種方式
1)生成指定形狀的0-1之間的隨機數:np.random.random()和np.random.rand()
array1 = np.random.random((3)) display(array1) # ----------------------------------- array2 = np.random.random((3,4)) display(array2) # ----------------------------------- array3 = np.random.rand(3) display(array3) # ----------------------------------- array4 = np.random.rand(2,3) display(array4)
① 操作如下
② 區別如下
2)生成指定數值范圍內的隨機整數:np.random.randint()
① 操作如下
array9 = np.random.randint(low=1, high=10, size=6, dtype=np.int32) display(array9) # --------------------------------------------------------- array10 = np.random.randint(low=1, high=10, size=(2,3), dtype=np.int64) display(array10) # --------------------------------------------------------- array11 = np.random.randint(low=1, high=10, size=(2,3,4), dtype=np.int32) display(array11)
② 結果如下
3)與正態分布有關的幾個隨機函數:np.random.randn()和np.random.normal()
array5 = np.random.randn(3) display(array5) # --------------------------------------------- array6 = np.random.randn(2,3) display(array6) # --------------------------------------------- array7 = np.random.normal(loc=2,scale=0.5,size=6) display(array7) # --------------------------------------------- array8 = np.random.normal(loc=2,scale=0.5,size=6).reshape(2,3) display(array8)
① 結果如下
② 區別如下
4)均勻分布隨機函數:np.random.uniform()
用法:生成指定范圍內的服從均勻分布的隨機數;
array11 = np.random.uniform(1,10,5) display(array11) # --------------------------------- array12 = np.random.uniform(1,10,(2,3)) display(array12)
① 結果如下
5)np.random.seed():按照種子來生成隨機數,種子一樣,則生成的隨機數結果必一致
① 操作如下
np.random.seed(3) a = np.random.rand(3) display(a) np.random.seed(3) b = np.random.rand(3) display(b) # -------------------------- np.random.seed() a = np.random.rand(3) display(a) np.random.seed() b = np.random.rand(3) display(b)
② 結果如下
6)np.random.shuffle():打亂數組元素順序(原地操作數組)
c = np.arange(10) display(c) np.random.shuffle(c) display(c)
① 結果如下
7)np.random.choice():按照指定概率從指定數組中,生成隨機數;
① np.random.choice()函數的用法說明
d = np.random.choice([1,2,3,4], p=[0.1, 0.2, 0.3, 0.4]) display(d)
說明:上述函數第一個參數表示的是數組,第二個參數表示的是概率值。上述函數的含義是當進行n多次重復實驗的時候,抽取1的概率為0.1,抽取2的概率為0.2,抽取3的概率為0.3,抽取4的概率為0.4。
② 結果如下
③ 隨即進行10000次重復實驗,檢測每一個數,被抽取到的概率
list1 = [0,0,0,0] for i in range(100000): f = np.random.choice([1,2,3,4], p=[0.1, 0.2, 0.3, 0.4]) list1[f-1] = list1[f-1] + 1 display(list1) result_list = [value/sum(list1) for value in list1] display(result_list)
④ 結果如下
⑤ 模擬進行100000次擲硬幣重復實驗,檢測每一面,被抽取到的概率
list1 = [0,0] for i in range(100000): f = np.random.choice([0,1], p=[0.5,0.5]) list1[f] = list1[f] + 1 display(list1) result_list = [value/sum(list1) for value in list1] display(result_list)
⑥ 結果如下
感謝各位的閱讀!看完上述內容,你們對numpy中生成隨機數的常用函數有哪些大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。