NumPy 随机数
什么是随机数?
随机数并不意味着每次都生成一个不同的数字。随机意味着无法通过逻辑预测。
伪随机和真随机。
计算机是根据程序运行的,程序是明确的指令集。因此,这意味着生成随机数也必须有一个算法。
如果存在一个生成随机数的程序,那么它可以被预测,因此它不是真正随机的。
通过生成算法产生的随机数称为伪随机数。
我们能制造出真随机数吗?
是的。为了在我们的计算机上生成真随机数,我们需要从外部源获取随机数据。这个外部源通常是我们的键盘输入、鼠标移动、网络数据等。
我们不需要真随机数,除非它与安全相关(例如加密密钥),或者应用程序的基础是随机性(例如数字轮盘)。
在本教程中,我们将使用伪随机数。
生成随机数
NumPy 提供了 random
模块来处理随机数。
生成随机浮点数
random 模块的 rand()
方法返回一个 0 到 1 之间的随机浮点数。
生成随机数组
在 NumPy 中,我们处理数组,您可以使用上面示例中的两个方法来创建随机数组。
整数
randint()
方法接受一个 size
参数,您可以在其中指定数组的形状。
示例
生成一个包含 5 个 0 到 100 之间随机整数的一维数组
from numpy import random
x=random.randint(100, size=(5))
print(x)
自己动手试一试 »
示例
生成一个二维数组,包含 3 行,每行包含 5 个 0 到 100 之间的随机整数
from numpy import random
x = random.randint(100, size=(3, 5))
print(x)
自己动手试一试 »
浮点数
rand()
方法也允许您指定数组的形状。
从数组中生成随机数
choice()
方法允许您根据一个值数组生成一个随机值。
choice()
方法接受一个数组作为参数,并随机返回其中的一个值。
choice()
方法还允许您返回一个数组的值。
添加一个 size
参数来指定数组的形状。
示例
生成一个由参数数组(3、5、7 和 9)中的值组成的二维数组
from numpy import random
x = random.choice([3, 5, 7, 9], size=(3, 5))
print(x)
自己动手试一试 »