- np.random.rand() --> 生成指定维度的的[0,1)范围之间的随机数,输入参数为维度
例如:
>>>np.random.rand(4,3,2)
生成一个shape为[4,3,2]的array,array中每个元素都是一个[0,1)之间的随机数
- np.random.randn() --> 生成指定维度的服从标准正态分布的随机数,输入参数为维度
例如:
>>>np.random.randn() :没有参数,只返回单个数据
>>>np.random.randn(2,4):返回一个shape为[2,4]的array,array中的元素服从标准正态分布
- np.random.randint(low, high = None, size = None,dtype = 'l')--> 返回随机数或者随机数组成的array
输入参数有:
- low,high(范围区间为[low,high)),low不可以>=high
- size,
- dtype(默认为int)
例如:
>>>np.random.randint(1,size=5):
返回[0,1)之间的随机整数,尺寸为5,因此只有0
array([0,0,0,0,0])
>>>np.random.randint(1,5):
返回一个[1,5)之间的随机整数
4
错误实例:
np.random.randint(size = 2)
np.random.randint(high = 1, size = 2)
np.random.randint(high = 1)
TypeError: randint() takes at least 1 positional argument (0 given)
randint()必须有一个位置参数
np.random.randint(high = 1,1)
SyntaxError: positional argument follows keyword argument
位置参数跟在了关键字参数的后面,是不可以的
- np.random.random_integers(low,high = None,size = None)-->返回范围为[low,high] 闭区间 随机整数
>>>np.random.random_integer(1,size = 5)
array([1,1,1,1,1])
5.np.random.random(size = (2,2))-->生成随机浮点数阵列
>>>np.random.random(size = (2,2))
[[ 0.25303772 0.45417512]
[ 0.76053763 0.12454433]]
>>>np.random.rand(2,2) 等价于 np.random.random(size = (2,2))
也就是说二者都只提供size参数,但一个是位置参数,一个是关键字参数,二者返回的都是[0,1)范围的随机浮点数
6.np.random.choice(a, size = None, replace = True, p = None) --> 从给定数组a中随机选择,p可以指定a中每个元素被选择的概率
例如:
当a为整数时,随机选择数组np.arange(a)中的数
>>>np.random.choice(5,3)
array([4,1,4])
np.arange(5) == array([0,1,2,3,4]),从该array中随机选择3个数组成一个新的array并返回
>>>np.random.choice(5,3,replace=False)
array([0,3,1]) , 当replace = False时,返回的数中不可以有重复的
>>>np.random.choice(5,size = (3,2))
array([[1,0],
[4.2],
[3,3]])
p是一个list,p的size 必须与a的size一致,p中每个元素对应了a中每个元素被选择的概率
>>>np.random.choice(list_tmp,size = (3,3),p = [0.1,0.6,0.1,0.1,0.1])
-
np.random.seed() -->使随即数据可预测,对于同一个seed,生成的随机数相同
例如
>>>np.random.seed(0)
>>>np.random.rand(1)
array([0.5488135])
>>>np.random.seed(1)
>>>np.random.rand(1)
array([0.4359949])
>>>np.random.seed(1)
>>>np.random.rand(1)
array([0.4359949])