np.random.randint与np.random的区别
时间: 2023-10-13 11:08:56 浏览: 73
`np.random.randint` 和 `np.random` 都是 numpy 库中的随机数生成器。
区别在于:
- `np.random.randint` 用于生成整数随机数,可以指定生成的随机数的范围和数量。
- `np.random` 可以生成各种类型的随机数,包括浮点数、整数、布尔值、随机序列等,并且可以指定生成的随机数的形状(shape)和分布(distribution)。
举个例子:
```python
import numpy as np
# 生成一个在 [0, 10) 范围内的随机整数
x = np.random.randint(0, 10)
print(x)
# 生成一个形状为 (2, 3) 的随机浮点数数组
y = np.random.random((2, 3))
print(y)
```
输出:
```
3
[[0.41186054 0.88241333 0.76481163]
[0.51845688 0.58414744 0.61752324]]
```
相关问题
np.random.rand(num)和np.random.randint(num)的区别
np.random.rand(num)和np.random.randint(num)是numpy库中用于生成随机数的两个函数,它们的区别如下:
1. np.random.rand(num)函数生成一个指定形状的[0, 1)之间均匀分布的随机数数组。参数num指定了生成的随机数的形状,可以是一个整数或一个元组。例如,np.random.rand(3, 2)将生成一个3行2列的随机数数组。
2. np.random.randint(num)函数生成一个指定范围内的随机整数数组。参数num指定了生成的随机数的范围,可以是一个整数或一个元组。例如,np.random.randint(1, 10, size=(3, 2))将生成一个3行2列的随机整数数组,范围在1到10之间。
总结起来,np.random.rand(num)生成的是[0, 1)之间的随机数,而np.random.randint(num)生成的是指定范围内的随机整数。
示例代码如下:
```python
import numpy as np
# 生成一个3行2列的[0, 1)之间均匀分布的随机数数组
random_array1 = np.random.rand(3, 2)
print(random_array1)
# 生成一个3行2列的1到10之间的随机整数数组
random_array2 = np.random.randint(1, 10, size=(3, 2))
print(random_array2)
```
matrix_r = np.random.randint(0, 256, size=(128, 128)) print(matrix_r) matrix_g = np.random.randint(0, 256, size=(128, 128)) matrix_b = np.random.randint(0, 256, size=(128, 128)) print(matrix_b) print(matrix_b.shape) # 将三个矩阵拼接成一个3通道128乘128的矩阵
可以使用numpy中的dstack函数将三个矩阵按深度方向进行拼接,生成一个3通道128x128的矩阵,代码如下:
```
matrix_rgb = np.dstack((matrix_r, matrix_g, matrix_b))
print(matrix_rgb)
print(matrix_rgb.shape)
```
其中,dstack函数的作用是将三个矩阵按深度方向进行拼接,生成一个3通道的矩阵。最后输出拼接后的矩阵以及其形状。
阅读全文