Python Numpy 随机数生成常用方法

发布时间 2023-12-11 22:06:31作者: leviliang

1、生成随机数

1)均匀分布随机数

numpy.random.rand(d0, d1, ..., dn):生成在 [0, 1) 区间的均匀分布随机数。d0, d1, ..., dn:表示生成随机数的维度。

numpy.random.randint(low, high=None, size=None, dtype=int):生成指定范围的随机整数。

参数说明:

参数

说明

low

指定随机数的最小值。

high

指定随机数的最大值。如果省略,则 high 默认为 low + 1。

size

指定生成随机数的个数。如果省略,则 size 默认为 1。

dtype

指定随机数的数据类型。

使用示例Python Numpy 随机数生成常用方法

2)正态分布随机数

numpy.random.randn(d0, d1, ..., dn):生成标准正态(均值0,标准差1)分布的随机数。d0, d1, ..., dn:表示生成随机数的维度。

numpy.random.normal(loc=0.0, scale=1.0, size=None):生成正态分布的随机数,可指定均值和标准差。

参数说明:

参数

说明

loc

指定均值。

scale

指定标准差。

size

指定生成随机数的个数。

如果省略,则 size 默认为 1。

使用示例Python Numpy 随机数生成常用方法

3)二项分布随机数

numpy.random.binomial(n, p, size=None):生成二项分布随机数。

参数说明:

参数

说明

n

试验次数。

p

每次试验成功的概率。

size

要生成的随机数个数。

使用示例Python Numpy 随机数生成常用方法

4)泊松分布随机数

numpy.random.poisson(lam=1.0, size=None):生成泊松分布随机数。

参数说明:

参数

说明

lam

固定区间内平均发生事件的次数。

size

要生成的随机数个数。

使用示例Python Numpy 随机数生成常用方法

5)分布随机数

numpy.random.exponential(scale=1.0, size=None):生成指数分布随机数。

参数说明:

参数

说明

scale

指数分布的参数。

size

要生成的随机数个数。

使用示例Python Numpy 随机数生成常用方法

2、随机抽样和洗牌

可以使用NumPy库可以轻松地进行随机抽样和洗牌。常用函数如下,

1)随机抽样

numpy.random.choice(a, size=None, replace=True, p=None):从给定的一维数组或整数范围中随机抽样。

参数说明:

参数

说明

a

指定要抽取元素的序列。

size

指定要抽取的元素个数。

如果省略,则 size 默认为 1。

replace

指定是否允许重复抽取。

如果为 True,则允许重复抽取;

如果为 False,则不允许重复抽取。

p

指定每个元素被抽取的概率。

如果省略,则每个元素的概率相同。

使用示例Python Numpy 随机数生成常用方法

2)洗牌和排列

numpy.random.shuffle(x):对数组 x 进行原地洗牌(改变数组本身的顺序),于将序列 x 中的元素随机打乱。x:指定要打乱的序列。

numpy.random.permutation(x):返回数组 x 的一个随机排列或返回一个随机排列的范围。x:指定要排列的序列。

使用示例Python Numpy 随机数生成常用方法

3、设置随机数种子

numpy.random.seed(seed=None):通过设置随机数种子,可以确保随机数生成器的可重复性。seed:指定种子。如果省略,则使用系统时间作为种子。

使用示例Python Numpy 随机数生成常用方法