NumPy np.random 常用 API 笔记

67 阅读1分钟

📒 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)

# 1. 基础
print(np.random.rand(2,3))         # 均匀分布
print(np.random.randn(3))          # 标准正态
print(np.random.randint(0,10,5))   # 随机整数

# 2. 分布
print(np.random.normal(5, 2, 4))   # 均值=5, 标准差=2
print(np.random.uniform(-1, 1, 4)) # 区间 [-1,1)

# 3. 采样 & 打乱
arr = np.arange(10)
print(np.random.choice(arr, 5, replace=False)) # 无放回采样
print(np.random.permutation(arr))              # 打乱返回新数组
np.random.shuffle(arr)                         # 原地打乱
print(arr)