📒 NumPy np.random 常用 API 笔记
1. 基础随机数
| 函数 | 用途 | 示例 |
|---|
np.random.rand(d0, d1, …) | 生成 [0,1) 区间的 均匀分布 | np.random.rand(2,3) |
np.random.randn(d0, d1, …) | 生成 标准正态分布(均值=0,方差=1) | np.random.randn(100) |
np.random.randint(low, high=None, size=None) | 生成整数随机数 | np.random.randint(0, 10, size=5) |
np.random.random(size=None) | 生成 [0,1) 的浮点数 | np.random.random(3) |
2. 常见分布
| 函数 | 分布类型 | 说明 |
|---|
np.random.normal(loc=0, scale=1, size=None) | 正态分布 | 均值=loc,标准差=scale |
np.random.uniform(low=0, high=1, size=None) | 均匀分布 | 范围 [low, high) |
np.random.binomial(n, p, size=None) | 二项分布 | n 次实验,每次成功概率 p |
np.random.poisson(lam=1.0, size=None) | 泊松分布 | 平均发生次数 lam |
3. 随机采样与打乱
| 函数 | 用途 | 示例 |
|---|
np.random.choice(a, size=None, replace=True, p=None) | 从数组或范围中采样 | np.random.choice(10, 3, replace=False) |
np.random.permutation(x) | 返回一个打乱后的新数组 | np.random.permutation(10) |
np.random.shuffle(x) | 原地打乱数组 | np.random.shuffle(arr) |
4. 控制随机性
| 函数 | 用途 |
|---|
np.random.seed(seed) | 固定随机种子,使结果可复现 |
5. 常见用法示例
import numpy as np
np.random.seed(42)
print(np.random.rand(2,3))
print(np.random.randn(3))
print(np.random.randint(0,10,5))
print(np.random.normal(5, 2, 4))
print(np.random.uniform(-1, 1, 4))
arr = np.arange(10)
print(np.random.choice(arr, 5, replace=False))
print(np.random.permutation(arr))
np.random.shuffle(arr)
print(arr)