01.用于数据科学的 Python 基础知识之numpy

np.random.seed()

np.random.seed(n)函数用于生成指定随机数。若要每次都保持相同的随机数,则每次调用随机函数生成之前都要调用该函数!

案例1

由 np.random.rand() 生成的随机数

print(np.random.rand(3))
print(np.random.rand(3))
print(np.random.rand(3))

np.random.seed(seed=56)
print(np.random.rand(3))

np.random.seed(seed=56)
print(np.random.rand(3))

np.random.seed(seed=56)
print(np.random.rand(3))

输出为:

[0.88088538 0.7363577  0.71264004]
[0.03567197 0.01973123 0.32779687]
[0.56301663 0.74571705 0.72956789]
[0.98419185 0.33341227 0.67370162]
[0.98419185 0.33341227 0.67370162]
[0.98419185 0.33341227 0.67370162]

案例2

由 np.random.randint() 生成的随机数

print(np.random.randint(100, size=(5, 5)))
print(np.random.randint(100, size=(5, 5)))
print(np.random.randint(100, size=(5, 5)))

np.random.seed(seed=56)
print(np.random.randint(100, size=(5, 5)))

np.random.seed(seed=56)
print(np.random.randint(100, size=(5, 5)))

np.random.seed(seed=56)
print(np.random.randint(100, size=(5, 5)))

输出为:

[[ 5 61 10 35 39]
 [84  1  2 34 65]
 [58 83 78 55 45]
 [39 95  0 38 68]
 [66 44  4 45  1]]

[[67 65  5 54 86]
 [27 38 81 36 90]
 [95  6 44 14 61]
 [99 76 45 40 61]
 [61 46 55 19 54]]

[[95 26 22 11 41]
 [84 13 83 29 13]
 [13 55 33 82  7]
 [91 98 32 79 79]
 [19 16 26 25  1]]

[[85 15 64 34 14]
 [87 22 57 90 55]
 [24 12 66 43 11]
 [80 33 89 10 31]
 [28 37 34 15 28]]

[[85 15 64 34 14]
 [87 22 57 90 55]
 [24 12 66 43 11]
 [80 33 89 10 31]
 [28 37 34 15 28]]

[[85 15 64 34 14]
 [87 22 57 90 55]
 [24 12 66 43 11]
 [80 33 89 10 31]
 [28 37 34 15 28]]

可以看出不管是np.random.rand()函数,还是np.random.randint()函数, 没有调用 np.random.seed(seed=56) 函数生成的随机数组每次的结果都是不一样的,而调用了np.random.seed(seed=56) 函数生成的随机数组每次都是一样的结果。

原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/01-yongyushujukexuede-python-jichuzhishi/.html

Like (0)
Donate 微信扫一扫 微信扫一扫
朋远方的头像朋远方
Previous 2022年10月23日 下午2:04
Next 2022年11月11日 下午12:02

相关推荐

发表回复

Please Login to Comment