np_random
时间: 2025-03-16 15:14:31 浏览: 11
NumPy Random 使用方法与示例
NumPy 提供了一个强大的子模块 numpy.random
,专门用于生成随机数以及执行各种类型的随机抽样操作。以下是关于如何使用该功能的一些详细介绍和代码示例。
随机数生成基础
numpy.random
模块提供了多种函数来生成不同分布的随机数。其中最常用的有:
numpy.random.rand(d0, d1, ..., dn)
: 创建指定形状的数组并填充[0, 1)范围内的均匀分布随机浮点数[^4]。
import numpy as np
# 生成一个3x3矩阵,其元素为[0, 1)之间的随机浮点数
random_matrix = np.random.rand(3, 3)
print(random_matrix)
numpy.random.randint(low, high=None, size=None, dtype=int)
: 返回从半开区间[low, high)
中提取的一个或多个整数。
# 生成单个介于1到10之间的随机整数
single_random_int = np.random.randint(1, 10)
# 生成一个大小为5的一维数组,包含来自[1, 10)区间的随机整数
array_of_random_ints = np.random.randint(1, 10, size=5)
print(single_random_int, array_of_random_ints)
随机采样
对于更复杂的场景,比如需要按照特定的概率分布进行采样时,则可以考虑使用如下函数之一:
numpy.random.choice(a, size=None, replace=True, p=None)
: 从一维数组a中按设定好的概率p抽取size数量的数据项;如果replace设为False则表示无放回取样[^1]。
# 定义候选集及其对应权重
candidates = ['A', 'B', 'C']
weights = [0.2, 0.5, 0.3]
# 抽取一次样本,默认情况下是有放回的
sample_with_replacement = np.random.choice(candidates, p=weights)
print(sample_with_replacement)
# 不允许重复选取的情况下抽取两个样本
samples_without_replacement = np.random.choice(candidates, size=2, replace=False, p=weights)
print(samples_without_replacement)
设置种子以确保可重现的结果
为了使每次运行程序得到相同的随机序列,在实际开发过程中通常会先调用seed设置初始状态:
np.random.seed(seed_value=42) # 设定固定值作为随机发生器的状态起点以便调试或者比较实验结果
通过上述介绍可以看出,利用这些工具我们可以轻松实现各类基于Python的应用需求下的数据模拟工作。
相关推荐


















