np.random.rand,np.random.randn,np.random.random
时间: 2024-08-15 20:02:39 浏览: 46
`np.random.rand`, `np.random.randn`, 和 `np.random.random` 都是 NumPy 中用于生成随机数的函数:
1. `np.random.rand(size)`:生成一个给定形状(size)的浮点数数组,其值均匀分布在 `[0, 1)` 区间内。所有元素都是独立同分布(i.i.d.)的,即彼此之间相互独立,且服从标准正态分布(均值为0,标准差为1)。
2. `np.random.randn(size)`:与 `rand` 类似,也是生成浮点数数组,但是其元素默认是标准正态分布的随机数,即均值为0,标准差为1。所以即使没有明确指定范围,生成的数也通常会被认为是在 [-3, 3] 左右的范围内。
3. `np.random.random(size)`:同样生成一个给定形状的浮点数数组,数组中的每一个元素都在 `[0, 1)` 范围内,与 `rand` 相似,也是 i.i.d. 的。
这些函数广泛应用于数据预处理、模拟实验等场景中,帮助创建随机样本。如果你需要生成特定范围内的非均匀分布随机数,可以结合其他技巧如 `a * rand() + b` 来调整生成值的范围。
相关问题
np.random.randn和np.random.rand和np.random.randint有啥区别和联系
np.random.randn() 是 numpy 库中的一个函数,用于生成符合标准正态分布(均值为0,标准差为1)的随机数。它的用法是 np.random.randn(shape),其中 shape 是一个表示矩阵形状的参数。
np.random.rand() 也是 numpy 库中的一个函数,用于生成在[0, 1)区间内均匀分布的随机数。它的用法是 np.random.rand(shape),其中 shape 同样是一个表示矩阵形状的参数。
与上述两个函数不同,np.random.randint() 是 numpy 库中用于生成随机整数的函数。它的用法是 np.random.randint(low, high, shape),其中 low 表示最小值(包含),high 表示最大值(不包含),shape 表示矩阵形状。
联系:这三个函数都可以生成随机数,但生成的分布和取值范围不同。np.random.randn() 和 np.random.rand() 生成的是浮点数,而 np.random.randint() 生成的是整数。np.random.randn() 生成的符合标准正态分布,np.random.rand() 生成的是均匀分布随机数,np.random.randint() 生成的是在给定范围内的随机整数。
np.randomg.uniform() np.random.rand() np.random.randn() np.random.randint()哪个返回值不是浮点数
np.random.randint()返回的是整数,不是浮点数。
np.random.uniform()函数的作用是返回一个或一组服从指定范围内均匀分布的随机样本值。可以通过指定参数来控制返回值的范围和形状。下面是一个例子:
```python
import numpy as np
# 返回一个[0, 1)之间的随机浮点数
print(np.random.uniform())
# 返回一个[0, 10)之间的随机浮点数
print(np.random.uniform(0, 10))
# 返回一个形状为(2, 3)的随机浮点数数组
print(np.random.uniform(size=(2, 3)))
```
np.random.rand()函数的作用与np.random.uniform()函数类似,也是返回一个或一组服从“0~1”均匀分布的随机样本值。可以通过指定参数来控制返回值的形状。下面是一个例子:
```python
import numpy as np
# 返回一个[0, 1)之间的随机浮点数
print(np.random.rand())
# 返回一个形状为(1,)的随机浮点数数组
print(np.random.rand(1))
# 返回一个形状为(2, 2)的随机浮点数数组
print(np.random.rand(2, 2))
```
np.random.randn()函数的作用是返回一个或一组服从标准正态分布的随机样本值。可以通过指定参数来控制返回值的形状。下面是一个例子:
```python
import numpy as np
# 返回一个服从标准正态分布的随机浮点数
print(np.random.randn())
# 返回一个形状为(1,)的服从标准正态分布的随机浮点数数组
print(np.random.randn(1))
# 返回一个形状为(2, 2)的服从标准正态分布的随机浮点数数组
print(np.random.randn(2, 2))
```
阅读全文