Numpy之randint、randn、rand、ranf、random

numpy.random.randint()方法

numpy.random.randint(low, high=None, size=None, dtype='l')

参数

这个方法产生离散均匀分布的整数,这些整数大于等于low,小于high。

  • low : int 
    产生随机数的最小值
  • high : int, optional 
    给随机数设置个上限,即产生的随机数必须小于high
  • size : int or tuple of ints, optional 
    输出的大小,可以是整数,或者元组
  • dtype : dtype, optional 
    期望结果的类型

举例说明

>>> random.randint(1,20)
13
>>> np.random.randint(1,20)
1
>>> np.random.randint(1,20,size=3)
array([19, 18,  4])
>>> np.random.randint(1,20,size=(3,4))
array([[ 4,  8,  7, 13],
       [ 8, 19, 16,  1],
       [ 4,  4,  2, 18]])
>>> np.random.randint(20,size=5)
array([ 4, 19, 17, 17,  8])
>>> np.random.randint(1,size=5)
array([0, 0, 0, 0, 0])
>>> np.random.randint(2,size=5)
array([0, 0, 0, 1, 0])

numpy.random.randn()与rand()的区别

numpy中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中。 
numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值,有正有负。 
numpy.random.rand(d0, d1, …, dn)的随机样本位于[0, 1)中,全是正的。 
代码:

import numpy as np 

arr1 = np.random.randn(2,4)
print(arr1)
print('******************************************************************')
arr2 = np.random.rand(2,4)
print(arr2)

结果:

[[-1.03021018  0.5197033   0.52117459 -0.70102661]
 [ 0.98268569  1.21940697 -1.095241   -0.38161758]]
******************************************************************
[[ 0.19947349  0.05282713  0.56704222  0.45479972]
 [ 0.28827103  0.1643551   0.30486786  0.56386943]]

numpy.random.ranf

在半开区间[0.0,1.0)中返回随机浮点数。

等价于np.random.random_sample()函数。

numpy.random.ramdom()方法

此方法用来产生0和1之间的随机浮点数float。若想产生(3, 5)之间的floatsui随机数,就可以采用

import numnpy 
a = 2*numpy.random.random() + 3
print(a)

我的理解是等价于numpy.random.rand()函数

,若有错误还请批评指正。

猜你喜欢

转载自blog.csdn.net/qq_39355550/article/details/81778999