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)
自己尝试一下 »