在python数据分析的学习和应用过程中,经常需要用到numpy的随机函数,由于随机函数random的功能比较多,经常会混淆或记不住,下面我们一起来汇总学习下。
1. np.random.rand()
自己总结:返回[0,1)之间的数,rand()返回一个数字,rand(1)返回一个一维的一个数字数组,rand(2)返回一个一维的2个数字数组,以此类推。rand(3,4)返回3行4列的二维数组。
numpy.random.rand(d0,d1,…,dn)
- rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1
- dn表格每个维度
- 返回值为指定维度的array
例如:
X_train = np.random.rand(1) #返回结果为: array([0.05306906])
X_train = np.random.rand(2)
#返回结果为:array([0.32717865, 0.37672487])
X_train = np.random.rand(3)
#返回结果为:array([0.02279356, 0.26917234, 0.41363484])
X_train = np.random.rand(3,2)
#返回结果为:
array([[0.70345904, 0.25883973],
[0.68601444, 0.94283444],
[0.92911908, 0.05970667]])
2. np.random.randn()
numpy.random.randn(d0,d1,…,dn)
用法同np.random.rand()一样,只是服从正态分布。
- randn函数返回一个或一组样本,具有标准正态分布。
- dn表格每个维度
- 返回值为指定维度的array
用法同上
标准正态分布介绍:
标准正态分布—-standard normal distribution
标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,记为N(0,1)。
3. np.random.randint()
通过low来指定起点,通过high来指定终点,通过size参数来指定数组的维度,通过dtype来确定类型。
numpy.random.randint(low, high=None, size=None, dtype=’l’)
- 返回随机整数,范围区间为[low,high),包含low,不包含high
- 参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
- high没有填写时,默认生成随机数的范围是[0,low)
例如:
np.random.randint(1,size=5) # 返回[0,1)之间的整数,所以只有0
#返回结果为:array([0, 0, 0, 0, 0])
np.random.randint(1,5) # 返回1个[1,5)区间的随机整数
#返回结果为:4
np.random.randint(-5,5,size=(2,2))
#返回结果为:
array([[ 2, -1],
[ 2, 0]])
4. np.random.random(size=None)
通过size参数来指定维数
生成[0,1)之间的浮点数
例如:
X_train = np.random.random()
#返回结果为:0.9689405503449076
X_train = np.random.random(1)
#返回结果为:array([0.80323664])
X_train = np.random.random(2)
#返回结果为:array([0.12686505, 0.84483594])
X_train = np.random.random((2,3))
#返回结果为:
array([[0.39771528, 0.76109586, 0.51086943],
[0.55745357, 0.43425362, 0.9797477 ]])
5. np.random.seed()
随机种子,保证每次生成的随机数字一样。OK。
先总结这几个吧,后续补充。