numpy中np.random.rand()与np.random.randn()与range()与np.arange()

本文介绍了np.random.rand()和np.random.randn()函数用于生成服从特定分布的随机数,以及range()与np.arange()的区别,后者更适用于创建可作为向量使用的序列。

1,np.random.rand()

通过本函数可以返回一个或一组服从“0~1”均匀分布的随机样本值。随机样本取值范围是[0,1),不包括1。在这里插入图片描述

2,np.random.randn()函数

通过本函数可以返回一个或一组服从标准正态分布的随机样本值。
在这里插入图片描述

3,range()与np.arange()区别

range()返回的是range object,而np.nrange()返回的是numpy.adarray()
range尽可用于迭代,而np.arange作用远不止于此,它是一个序列,可被当做向量使用。
range()不支持步长为小数,np.arange()支持步长为小数

在这里插入图片描述

`np.random.seed` 是 NumPy 库中的一个函数,用于指定随机数生成时所用算法开始的整数值。其主要作用和使用方法如下: ### 作用 `np.random.seed` 的主要作用是使设有相同参数的 `seed` 函数之后的随机数都相等。也就是说,如果使用相同的 `seed()` 值,则每次生成的随机数都相同,一次指定始终有效。这在需要重现随机数序列的场景中非常有用,例如在调试代码、进行可重复性实验时,通过设置相同的随机种子,可以确保每次运行程序时生成的随机数序列一致[^1][^2][^3][^4]。 ### 使用方法 `np.random.seed()` 函数中的参数可以选择任何一个整数。以下是一些具体的使用示例: #### 生成相同的随机排列 ```python import numpy as np a = np.array([[1, 2, 3, 4, 5], [2, 3, 4, 5, 6], [3, 4, 5, 6, 7], [4, 5, 6, 7, 8], [5, 6, 7, 8, 9]]) print(a) for i in range(3): np.random.seed(0) b = np.random.permutation(a) print(b) ``` 在这个例子中,每次循环都设置随机种子为 0,因此每次生成的随机排列都是相同的[^1]。 #### 生成相同的随机数序列 ```python import numpy as np np.random.seed(4) print(np.random.randn(5)) # np.random.seed(4) print(np.random.randn(5)) np.random.seed(4) print(np.random.randn(5)) ``` 这里通过设置随机种子为 4,在第一次和第三次调用 `np.random.randn(5)` 时生成的随机数序列是相同的[^2]。 #### 生成相同的随机矩阵 ```python import numpy as np np.random.seed(0) print(np.random.rand(2, 3)) np.random.seed(1) print(np.random.rand(2, 3)) np.random.seed(0) print(np.random.rand(2, 3)) ``` 此示例中,第一次和第三次设置随机种子为 0,生成的 2x3 随机矩阵是相同的;第二次设置随机种子为 1,生成的随机矩阵前两次不同[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值