numpy.random 与 python自带的random 区别

总结:python自带的random函数用于生成随机数,numpy.random用于生成随机数矩阵

一、python自带的random:


  1. random.random()
    生成0~1的随机浮点数

  2. random.uniform(a,b)
    生成指定范围的随机浮点数,a<=n<=b

  3. random.randint(a,b)
    生成指定范围的随机整数,a<=n<=b

  4. random.randrange(start,stop,step)
    指定范围内,按step递增的集合中的随机数,start<=n<stop

  5. randrange(m,n,[,k])
    生成一个[m,n)之间以K为步长的随机整数

  6. getrandbits(k)
    生成一个K比特长的随机整数(转换为十进制的数值范围就是2的K次方)

>>>random.getrandombits(8)
250 #范围:0-255,即2的8次方
  1. random.sample(a,N);
    从a中随机抽N个数
random.sample(range(A,B),N); #表示从[A,B)中随机抽N个数
  1. choice(seq)
    从序列seq中随机选择一个元素
>>>random.choice([1,2,3,4,5,6,7,8,9])
8
  1. shuffle(seq)
    将序列seq中的元素随机排列并返回

二、numpy.random

1. np.random.rand(d0,d1,…,dn)

生成[0,1)之间、维度为(d0,d1,…,dn)的矩阵

numpy.random 与 python自带的random 区别

2. np.random.randn(d0,d1,…,dn)
类似rand:
生成服从标准正太分布、维度为(d0,d1,…,dn)的矩阵

3. np.random.randint(low[,high,shape,dtype])

①生成维度为shape,取值范围为[low,high)的随机矩阵
dtype为数据类型,默认的数据类型是np.int
numpy.random 与 python自带的random 区别

②high没有填写时,默认生成随机数的范围是[0,low)
numpy.random 与 python自带的random 区别

4. shuffle(a)
把矩阵a每行看作一张牌,洗牌,将洗牌后的矩阵赋给a
numpy.random 与 python自带的random 区别

5. permutation(a)
与shuffle(a)类似,但不改变a
numpy.random 与 python自带的random 区别

6. choice(a[,shape,replace,p])
从一维数组a中以概率P抽取元素,生成维度为shape的新矩阵,replace表示元素能否重复抽取,默认False
p:每个元素出现的概率
注意:给出P时,replace默认为true
numpy.random 与 python自带的random 区别