首先我们导入numpy:
import numpy as np
语法:numpy.random.rand(d0,d1,...,dn)
rand函数根据给定维度生成[0,1)之间的数据,dn为生成数据的在每个维度上有几个值
举一个例子:
print(np.random.rand(4,4))
我们上面是要求生成一个四行四列的矩阵,结果展示如下:
[[0.76148228 0.69741528 0.85618308 0.35497915]
[0.80883181 0.07394968 0.84910785 0.96689938]
[0.93378835 0.6106163 0.97327159 0.85259089]
[0.08924978 0.40916202 0.46347513 0.44368508]]
语法:numpy.random.randn(d0,d1,...,dn)
返回一个或一组样本,具有标准的正态分布
dn的意义同上
举一个例子:
print(np.random.randn(4,4))
结果展示:
[[-0.13707518 0.49339886 -0.39953276 -0.00649661]
[-0.86065941 1.05535116 -1.04004927 -0.44068854]
[ 1.20648254 0.21791289 -1.16513215 -0.34280696]
[-2.26298815 0.71094526 -1.18086159 -0.97208557]]
语法为:numpy.random.randint(low,high=None, size=None, dtype='l')
返回随机整数,范围是[low, high), 包含low, 不包含hig
hlow 是最小值,high是最大值,size为数组维度大小,dtype为数据类型
high 没有填写时,默认生成的随机数的范围是[0,low)
举一个例子:
print(np.random.randint(0,10,5))
结果展示为:
[4 9 9 5 4]
我们可以使用以下几个函数:
1) numpy.random.random_sample(size=None)
2) numpy.random.random(size=None)
3) numpy.random.ranf(size=None)
4) numpy.random.sample(size=None)
结果展示:
1)
print(np.random.random_sample(10))
结果展示:
[0.07232841 0.35329631 0.18994809 0.37573525 0.41869297 0.42815916
0.09142496 0.13752638 0.27210487 0.03473026]
2)
print(np.random.random(10))
结果展示:
[0.57782124 0.98586647 0.26316025 0.01350018 0.31534374 0.29930303
0.25787614 0.54663009 0.44360118 0.9096048 ]
3)
print(np.random.ranf(10))
结果展示为:
[0.67700311 0.29741907 0.26364099 0.50193695 0.20823445 0.41568927
0.80208311 0.59939499 0.5815308 0.50895808]
4)
print(np.random.sample(10))
结果展示为:
[0.24963546 0.10957904 0.88985519 0.39149802 0.95887497 0.30991873
0.90713363 0.57993866 0.29358357 0.37979748]
语法为:numpy.random.choice(a,size=None, replace=True,p=None)
从给定的一维数组中生成随机数a 为一维数组类似数据或整数;
size为数组维度;p为数组中的数据出现的概率
举个例子:
print(np.random.choice(10,5))
结果展示如下:
[5 1 5 6 1]
使得随机数可预测当我们设置相同的seed,每次生成的随机数相同。
如果不设置seed,则每次会生成不同的随机数
举个例子:
np.random.seed(0)
print(np.random.randint(0,5,3))
第一次运行:
[4 0 3]
第二次运行:
[4 0 3]
结果是一样的,避免了数据的随机性。