欢迎访问宙启技术站
智能推送

使用np_random()函数在python中生成随机数的方法

发布时间:2023-12-26 03:34:26

在Python中,可以使用numpy库中的random模块来生成随机数。numpy提供了一系列用于生成不同分布随机数的函数,如均匀分布、正态分布等。

首先,需要导入numpy库并创建一个随机数生成器对象。可以使用numpy.random模块中的default_rng()函数来创建一个默认的随机数生成器。

import numpy as np

rng = np.random.default_rng()

接下来,可以使用生成器对象调用不同的随机数生成函数来生成具有不同分布的随机数。下面是一些常用的随机数生成函数及其用法:

1. 生成均匀分布随机数:

使用uniform()函数可以生成[0, 1)之间的均匀分布随机数。可以使用low和high参数指定随机数的范围。

   rand_num = rng.uniform(low=0, high=1)
   

2. 生成正态分布随机数:

使用normal()函数可以生成符合指定均值和标准差的正态分布随机数。可以使用loc和scale参数指定均值和标准差。

   rand_num = rng.normal(loc=0, scale=1)
   

3. 生成整数随机数:

使用integers()函数可以生成指定范围内的整数随机数。可以使用low和high参数指定随机数的范围,并使用size参数指定生成随机数的个数。

   rand_num = rng.integers(low=0, high=10, size=1)
   

4. 生成随机排列:

使用permutation()函数可以生成指定范围内的随机排列。可以使用size参数指定生成随机排列的长度。

   rand_permutation = rng.permutation(10)
   

以上只是几个常用的随机数生成函数,还有很多其他函数可以满足不同的随机数生成需求。

下面是一个使用np_random()函数生成100个10到20之间的整数随机数的例子:

import numpy as np

rng = np.random.default_rng()
rand_nums = rng.integers(low=10, high=21, size=100)
print(rand_nums)

运行以上代码,会输出一个包含100个10到20之间的整数随机数的数组。

需要注意的是,numpy的随机数生成函数生成的随机数是伪随机数,并且是根据指定的种子值生成的。如果希望每次运行程序时生成不同的随机数序列,可以通过设置随机数生成器对象的种子值来实现。例如,可以使用seed()函数设置种子值为当前时间的毫秒数。

import numpy as np

rng = np.random.default_rng(seed=int(time.time() * 1000))

通过这种方式,就可以每次运行程序时生成不同的随机数序列。