python:random.randint 和 numpy.random.uniform

1. random.randint(a,b): 隨機生成一個a到b之間的一個整數(a<=n<=b)

用於生成一個指定範圍內的整數。其中參數a是下限,參數b是上限,生成的隨機數n:a<=n<=b

2. random.uniform(a,b):隨機生成一個a到b之間的一個浮點數(a<=n<=b)

用於生成一個指定範圍內的隨機浮點數,兩格參數中,其中一個是上限,一個是下限。如果a>b,則生成的隨機數n,即b<=n<=a;如果a>b,則a<=n<=b。

3. numpy.random.uniform(low,high,size):輸出size個low到high之間的數(low<=n<size)左閉右開

從一個均勻分佈[low,high)中隨機採樣,注意定義域是左閉右開,即包含low,不包含high.

  • low: 採樣下界,float類型,默認值爲0;
  • high: 採樣上界,float類型,默認值爲1;
  • size: 輸出樣本數目,爲int或元組(tuple)類型,例如,size=(m,n,k), 則輸出m*n*k個樣本,缺省時輸出1個值。

4. 例:

import random
import numpy as np

a=0; b=7
index = random.randint(a, b)     #隨機產生0到7之間的一個整數
print(index)

a=10; b=20
index = random.uniform(a,b)      #隨機產生10到20之間的一個浮點數
print(index)

shape=17
cond = np.random.uniform(-0.1, 0.1, shape)    #隨機產生-0.1到0.1之間的17個浮點數
print(cond)

#輸出結果:
6
17.53995250541246
[ 0.08522486 -0.00211719  0.08933278 -0.00373567  0.06636708  0.0121164
  0.06903136  0.05635546 -0.07668082  0.0551379  -0.07817495  0.03939773
 -0.02098632 -0.07445089  0.0423184  -0.03277861  0.09023184]

#輸出結果
4
15.57572931119358
[-0.07759161  0.00917166  0.02625699 -0.09831834  0.05971643 -0.09321461
 -0.0589061   0.06328565 -0.05303397 -0.07837874 -0.09519935  0.00481752
  0.09597165  0.08807344 -0.06250566 -0.07776539  0.00727126]

 

參考:

https://www.cnblogs.com/chamie/p/4917820.html    python--隨機函數(random,uniform,randint,randrange,shuffle,sample)
https://blog.csdn.net/u013920434/article/details/52507173  numpy.random.uniform介紹

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