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


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.