np.random 的使用方法
时间: 2024-12-11 16:13:33 浏览: 8
`np.random` 是 NumPy 库中的一个模块,用于生成随机数和执行随机抽样操作。以下是一些常用的 `np.random` 方法及其使用方法:
1. **生成随机数**:
- `np.random.rand(d0, d1, ..., dn)`:生成一个形状为 `(d0, d1, ..., dn)` 的数组,数组中的元素是 `[0, 1)` 区间内的随机浮点数。
- `np.random.randn(d0, d1, ..., dn)`:生成一个形状为 `(d0, d1, ..., dn)` 的数组,数组中的元素是标准正态分布(均值为0,标准差为1)的随机浮点数。
- `np.random.randint(low, high, size)`:生成一个形状为 `size` 的数组,数组中的元素是 `[low, high)` 区间内的随机整数。
2. **随机抽样**:
- `np.random.choice(a, size=None, replace=True, p=None)`:从一维数组 `a` 中随机抽样,`size` 是抽样结果的形状,`replace` 表示是否有放回,`p` 是每个元素被抽中的概率。
- `np.random.permutation(x)`:返回数组 `x` 的一个随机排列。
3. **设置随机种子**:
- `np.random.seed(seed)`:设置随机数生成的种子,使得每次生成的随机数序列相同。
4. **随机打乱**:
- `np.random.shuffle(x)`:随机打乱数组 `x` 的元素顺序。
以下是一些示例代码:
```python
import numpy as np
# 设置随机种子
np.random.seed(42)
# 生成随机浮点数
print(np.random.rand(2, 3)) # 生成一个2x3的数组,元素在[0, 1)区间内
# 生成标准正态分布的随机浮点数
print(np.random.randn(2, 3)) # 生成一个2x3的数组,元素服从标准正态分布
# 生成随机整数
print(np.random.randint(0, 10, (2, 3))) # 生成一个2x3的数组,元素在[0, 10)区间内的随机整数
# 随机抽样
print(np.random.choice(['a', 'b', 'c'], size=5, replace=True)) # 从列表中随机抽样
# 随机打乱
arr = np.arange(10)
np.random.shuffle(arr)
print(arr) # 随机打乱后的数组
```
阅读全文