5. 随机数(numpy.random)

  • 让程序变得真正地不确定很难,但也有办法让它至少看起来是不确定的。一种办法是使用算法来生成伪随机数 。伪随机数并不是真正随机的,因为它们是通过一个确定性的算法生成的,但若只看输出的数字的话,几乎不可能看出来和随机数有什么区别。
  1. 随机数种子(numpy.random.seed())
# 当我们设置相同的seed,每次生成的随机数相同。
np.random.seed(10)
np.random.rand(5)
  1. 随机整数(numpy.random.randint()):函数randint 接收参数low 和high ,并返回low 和high 之间(两者都包含)的一个整数。
# 范围[low,high)
np.random.randint(-5,6,size=(5,6))

![[Pasted image 20211129183520.png]]

  1. 在给定集合中生成随机数(numpy.random.choice())
# 语法结构:numpy.random.choice(a, size=None, replace=True, p=None)
# size指定行列,p指定给定集合元素的抽取概率
# example1: a=5,即使用np.arange(5)生成0-4的五个数,size=20
np.random.choice(5,20)

# example2:
demo_list = ['000001', '000002','000003','000004', '000005']
np.random.choice(demo_list,size=(5,3), p=[0.1,0.1,0.1,0.1,0.6])
  1. 标准正态分布(np.random.standard_normal() & np.random.randn()
np.random.standard_normal()           # 产生单个随机数
np.random.standard_normal(5)          # 产生1d array
a = np.random.standard_normal((2, 6))    # 2d array,两维数组,2行6列;
np.round(a, 3)                        #四舍五入,保留3位小数;

np.random.randn(2,4) # 更方便
  1. 正态分布(np.random.normal())
# loc--期望值μ,
# scale--标准差σ
np.random.normal(loc=0.0, scale=1.0, size=1000)
np.random.normal(loc=0.0, scale=1.0, size=[3,2])
  1. 均匀分布 (np.random.random() & np.random.rand())(包括0.0,但不包括1.0)
np.random.random((4,2))
np.random.rand(4,2)
  1. 随机打乱ndaray内元素的顺序(np.random.shuffle()
data = np.arange(10)

np.random.shuffle(data)

你可能感兴趣的:(5. 随机数(numpy.random))