numpy中利用random類獲取隨機(jī)數(shù).
1、numpy.random.random()? 生成一個(gè)隨機(jī)的浮點(diǎn)數(shù)
? ?? 默認(rèn)為生成一個(gè)隨機(jī)的浮點(diǎn)數(shù)捉蚤,范圍是在0.0~1.0之間抬驴,也可以通過(guò)參數(shù)size設(shè)置返回?cái)?shù)據(jù)的size;
? 1)生成一個(gè)隨機(jī)的浮點(diǎn)數(shù):
? ? ? n = numpy.random.random()
? ? ? print(n) ?
? ? ? 輸出:0.429489486421
? 2)設(shè)置參數(shù)size:
? ? ? n = numpy.random.random(size=(3, 2))
? ? ? print (n)? ? ?
? ? ? 輸出:? [[ 0.32018625? 0.22410508]
? ? ? ? ? ? ? ? ? ? [ 0.57830333? 0.74477335]
? ? ? ? ? ? ? ? ? ? [ 0.08333105? 0.48533304]]
2、numpy.random.randint() 生成一個(gè)隨機(jī)整數(shù)
? ? randint(low, high=None, size=None, dtype=’l’)
? ? print(np.random.randint(8)) ? ? ? ? ? ? ? ? ? ? ?? 輸出4
? ? print (np.random.randint(5, size=3)) ? ? ? ?? 輸出[1 1 3]
? ? print (np.random.randint(6, size=(3,2))) ?? 輸出[[2 4]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [5 4]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [3 0]]
? ? print (np.random.randint(low=5, high=10, size=3))? 輸出[7 5 5]
3缆巧、numpy.random.normal() 生成高斯分布隨機(jī)數(shù)
? ? normal(loc=0.0, scale=1.0, size=None)
? ? loc:均值怎爵,scale:標(biāo)準(zhǔn)差,size:抽取樣本的size
? ? n = numpy.random.normal(loc=0.0, scale=1, size=(2, 3))
? ? print(n)
? ? [[-0.15040995 -0.43780718 -0.22292445]
? ? ? [-0.89388124 -0.39465164? 0.24113838]]
4盅蝗、numpy.random.randn() 生成標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù)
? ? numpy.random.randn(d0, d1, …, dn)函數(shù):
? ? 從標(biāo)準(zhǔn)正態(tài)分布中返回一個(gè)(d0*d1* …* dn)維樣本值
? ? import numpy as np
? ? print(np.random.randn(4, 2))
? ? [[-1.88753851 -2.54412195]
? ? [ 0.51856343 -1.07733711]
? ? [ 1.05820592 -0.23889217]
? ? [ 0.73309062? 0.42152066]]
? ? 例2:
? ? import numpy as np
? ? print(np.random.randn(4, 2, 3))
? ? 輸出:
? ? [[[-1.00477835? 1.16919912 -1.28299362]
? ? ? [ 0.0645336? 0.19143397 -0.16957401]]
? ? ? [[-1.45250491 -0.51844037 -0.01241654]
? ? ? [ 0.41427599? 0.19469926 -0.92450654]]
? ? ? [[-1.90133606? 1.23554382 -1.37775698]
? ? ? [-0.98110245? 0.3562373? -0.27816068]]
? ? ? [[ 1.0380202? 0.24293181? 0.5341542 ]
? ? ? [-0.62945999? 1.62233629 -0.07299065]]]
5鳖链、numpy.random.rand() 生成[0, 1)間隨機(jī)數(shù)
? ? numpy.random.rand(d0, d1, …, dn)函數(shù):
? ? 生成一個(gè)(d0*d1* …* dn)維位于[0, 1)中隨機(jī)樣本
? ? 例:
? ? import numpy as np
? ? print np.random.rand(2,3)
? ? 輸出:
? ? [[ 0.06112299? 0.02476706? 0.04235452]
? ? ? [ 0.47891264? 0.68831817? 0.31309659]]
6、numpy.random.shuffle() 隨機(jī)打亂序列
? ? numpy.random.shuffle() 將序列的所有元素隨機(jī)排序
? ? 傳入?yún)?shù)可以是一個(gè)序列或者元組
? ? import numpy as np
? ? x = range(0, 8, 1)
? ? print(x) ?? [0, 1, 2, 3, 4, 5, 6, 7]
? ? np.random.shuffle(x)?
? ? print (x) ?? [2, 3, 5, 4, 1, 7, 0, 6]
7、numpy.random.choice() 隨機(jī)選取序列的一個(gè)元素
? ? numpy.random.choice()可以從序列(字符串芙委、列表逞敷、元組等)中隨機(jī)選取,返回一個(gè)列表灌侣,元組或字符串的隨機(jī)項(xiàng)推捐。
? ? import numpy as np
? ? print(np.random.choice(['a','b','c','d','e']))? c
? ? print np.random.choice(5, 6)
? ? 輸出(6個(gè)小于5的元素):[2 3 3 3 1 2]
p:每個(gè)條目出現(xiàn)的概率。如果沒(méi)有侧啼,假設(shè)樣本在A中的所有條目都具有均勻分布牛柒。
import numpy as np
print np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
(p=[0.1, 0, 0.3, 0.6, 0]即出現(xiàn)0 1 2 3 4的概率分別是[0.1, 0, 0.3, 0.6, 0])
輸出:
[0 3 2]
import numpy as np
ss = ['pooh', 'rabbit', 'piglet', 'Christopher']
print np.random.choice(ss, 5, p=[0.5, 0.1, 0.1, 0.3])
輸出:
['Christopher' 'piglet' 'pooh' 'piglet' 'Christopher']