Python Numpy学习(六)随机数生成

本文介绍了Python Numpy库中如何生成随机数,包括构造随机整数、按分布生成如高斯分布的随机数,调整精度,洗牌操作以及设置随机种子确保可重复性实验。
import numpy as np

一、随机数构造

np.random.rand(3,2)
array([[0.6372113 , 0.27436914],
       [0.91140569, 0.95159513],
       [0.86491427, 0.58310291]])
np.random.randint(10,size =(
### 三级标题:生成固定种子的随机数Python 中使用 NumPy 生成固定种子的随机数,可以通过设置随机数生成器的种子值来实现。NumPy 提供了 `numpy.random.seed()` 函数,用于初始化伪随机数生成器的状态。通过设置相同的种子值,可以确保每次运行程序时生成随机数序列相同,从而实现结果的可重复性[^3]。 以下是一个完整的示例: ```python import numpy as np # 设置固定种子值 np.random.seed(42) # 生成随机数 random_numbers = np.random.rand(5) print(random_numbers) ``` 运行上述代码时,`random_numbers` 的输出结果将始终为相同的数值序列。这是因为随机数生成器的状态由固定的种子值 42 初始化,确保了结果的可重复性[^3]。 此外,TensorFlow 也提供了设置随机种子的功能,用于确保深度学习实验的可重复性。如果同时使用 NumPy 和 TensorFlow,应在设置 NumPy 随机种子后立即调用 `tf.random.set_seed()` 函数以确保一致性[^1]。 ### 三级标题:NumPy 随机数生成的优势 与 Python 内置的 `random` 模块相比,NumPy随机数生成器在生成大规模随机数时具有更高的性能。`random` 模块一次只能生成一个随机数,而 NumPy 可以高效地生成大量随机数,适用于科学计算和数据分析等高性能需求的场景[^2]。 例如,生成一百万个正态分布随机数时,`numpy.random.normal()` 的执行速度远超 Python 的 `random.normalvariate()` 方法: ```python import numpy as np import random # 使用 numpy 生成一百万个随机数 np.random.seed(42) sample_np = np.random.normal(size=1000000) # 使用 random 模块生成一百万个随机数 random.seed(42) sample_py = [random.normalvariate(0, 1) for _ in range(1000000)] ``` 在性能测试中,`numpy.random.normal()` 的执行时间远低于 `random.normalvariate()` 的列表推导方式,展示了其在处理大规模数据时的优势。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值