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

Python中Uniform()函数的灵活应用:生成指定规模的均匀分布随机数据集

发布时间:2023-12-15 23:44:20

Uniform()函数是Python中random模块中的一个函数,用于生成指定规模的均匀分布的随机浮点数。

Uniform()函数的语法如下:

random.uniform(a, b)

其中,a和b分别为均匀分布随机数的下限和上限,函数会生成位于[a, b]之间的浮点数。

Uniform()函数的返回值是一个[a,b]之间的随机浮点数。

Uniform()函数的灵活应用可以用于生成各式各样的均匀分布的随机数据集。下面以几个例子来说明这一点。

**例子1:生成一组服从均匀分布的随机数**

假设我们要生成10个位于[0,1]之间的随机浮点数,可以使用Uniform()函数:

import random

random_list = []
for _ in range(10):
    random_list.append(random.uniform(0,1))

print(random_list)

输出结果为:

[0.1328171121982946, 0.4478126106819345, 0.785400848190706, 0.5826143900412405, 0.8636659429319583, 0.4245331989787441, 0.778120431862698, 0.7603704802983228, 0.46572874885790885, 0.8761918901283497]

**例子2:生成一个整数均匀分布的随机数集合**

Uniform()函数生成的是浮点数,如果我们要生成整数的均匀分布的随机数集合,可以结合Uniform()函数和round()函数来实现:

import random

random_list = []
for _ in range(10):
    random_list.append(round(random.uniform(1,10)))

print(random_list)

输出结果为:

[2, 10, 5, 9, 4, 7, 2, 4, 6, 6]

**例子3:生成服从均匀分布的二维坐标集合**

Uniform()函数可以生成一维的均匀分布随机数,如果我们要生成均匀分布的二维坐标集合,可以使用两次Uniform()函数:

import random

points = []
for _ in range(10):
    x = random.uniform(0,1)
    y = random.uniform(0,1)
    points.append((x, y))

print(points)

输出结果为:

[(0.6481073274407236, 0.05569685755315091), (0.5166492771348987, 0.5968671178585366), (0.29852068021006705, 0.6246368879870443), (0.66303506249408, 0.7801292309413734), (0.7688567509505188, 0.42338042398050445), (0.6367413394583864, 0.23501039648768565), (0.8427472766386667, 0.5271295161138582), (0.39181889974464496, 0.7900929063129119), (0.5730194957456692, 0.45705082721520345), (0.7081029748597899, 0.32123224604470355)]

上述例子中,通过两次Uniform()函数分别生成x和y坐标,然后将x和y组成一个元组,最后将这些元组存储到一个列表中,就得到了一组均匀分布的二维坐标集合。

Uniform()函数的灵活应用可以满足不同场景下生成均匀分布随机数集合的需求。