numpy中利用random类获取随机数.
1、numpy.random.random() 生成一个随机的浮点数
默认为生成一个随机的浮点数,范围是在0.0~1.0之间,也可以通过参数size设置返回数据的size;
1)生成一个随机的浮点数:
n = numpy.random.random()
print(n)
输出:0.429489486421
2)设置参数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() 生成一个随机整数
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() 生成高斯分布随机数
normal(loc=0.0, scale=1.0, size=None)
loc:均值,scale:标准差,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() 生成标准正态分布随机数
numpy.random.randn(d0, d1, …, dn)函数:
从标准正态分布中返回一个(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)间随机数
numpy.random.rand(d0, d1, …, dn)函数:
生成一个(d0*d1* …* dn)维位于[0, 1)中随机样本
例:
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() 随机打乱序列
numpy.random.shuffle() 将序列的所有元素随机排序
传入参数可以是一个序列或者元组
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() 随机选取序列的一个元素
numpy.random.choice()可以从序列(字符串、列表、元组等)中随机选取,返回一个列表,元组或字符串的随机项。
import numpy as np
print(np.random.choice(['a','b','c','d','e'])) c
print np.random.choice(5, 6)
输出(6个小于5的元素):[2 3 3 3 1 2]
p:每个条目出现的概率。如果没有,假设样本在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]即出现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']