numpy里random总结

在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。

先总结这几个吧,后续补充。

猜你喜欢

转载自blog.csdn.net/yexudengzhidao/article/details/81051542
今日推荐