菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

NumPy 随机数


什么是随机数?

随机数并不意味着每次都生成一个不同的数字。随机意味着无法通过逻辑预测。

伪随机和真随机。

计算机是根据程序运行的,程序是明确的指令集。因此,这意味着生成随机数也必须有一个算法。

如果存在一个生成随机数的程序,那么它可以被预测,因此它不是真正随机的。

通过生成算法产生的随机数称为伪随机数。

我们能制造出真随机数吗?

是的。为了在我们的计算机上生成真随机数,我们需要从外部源获取随机数据。这个外部源通常是我们的键盘输入、鼠标移动、网络数据等。

我们不需要真随机数,除非它与安全相关(例如加密密钥),或者应用程序的基础是随机性(例如数字轮盘)。

在本教程中,我们将使用伪随机数。


生成随机数

NumPy 提供了 random 模块来处理随机数。

示例

生成一个 0 到 100 之间的随机整数

from numpy import random

x = random.randint(100)

print(x)
自己动手试一试 »

生成随机浮点数

random 模块的 rand() 方法返回一个 0 到 1 之间的随机浮点数。

示例

生成一个 0 到 1 之间的随机浮点数

from numpy import random

x = random.rand()

print(x)
自己动手试一试 »


生成随机数组

在 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() 方法也允许您指定数组的形状。

示例

生成一个包含 5 个随机浮点数的一维数组

from numpy import random

x = random.rand(5)

print(x)
自己动手试一试 »

示例

生成一个二维数组,包含 3 行,每行包含 5 个随机数

from numpy import random

x = random.rand(3, 5)

print(x)
自己动手试一试 »

从数组中生成随机数

choice() 方法允许您根据一个值数组生成一个随机值。

choice() 方法接受一个数组作为参数,并随机返回其中的一个值。

示例

返回数组中的一个值

from numpy import random

x = random.choice([3, 5, 7, 9])

print(x)
自己动手试一试 »

choice() 方法还允许您返回一个数组的值。

添加一个 size 参数来指定数组的形状。

示例

生成一个由参数数组(3、5、7 和 9)中的值组成的二维数组

from numpy import random

x = random.choice([3, 5, 7, 9], size=(3, 5))

print(x)
自己动手试一试 »


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持