Numpy如何创建指定范围内的随机数组

Numpy如何创建指定范围内的随机数组

在本文中,我们将介绍使用Numpy如何在指定范围内创建随机数组的方法。

阅读更多:Numpy 教程

Numpy的随机数生成器

Numpy拥有多种生成随机数的函数,其中最常用的是np.random模块。该模块提供了一系列随机数生成函数,如randrandnuniformnormal等等。其中,rand函数可以生成符合均匀分布的随机数,而uniform函数可以在指定范围内生成符合均匀分布的随机数。

使用rand函数生成随机数组

np.random.rand函数可以生成指定形状的数组,其中的元素是在0到1之间的均匀分布随机数。我们可以通过将生成的随机数乘以一个系数并加上一个常量,就可以得到在指定范围内的随机数。

例如,我们可以生成一个3行4列的,元素在-10到10之间的随机数组:

import numpy as np

arr = np.random.rand(3, 4) * 20 - 10

print(arr)
Python

输出结果:

[[ 8.41583088 -7.77171324 -6.57413979 -9.29314811]
 [ 8.97873891 -0.91726316 -5.46397796 -8.25422539]
 [ 4.5346152   9.05209108  6.82404765  1.11093674]]
Python

使用uniform函数生成随机数组

np.random.uniform函数可以生成指定形状的数组,其中的元素是在指定范围内的均匀分布随机数。我们可以指定范围的下限和上限,通过生成的随机数乘以范围长度并加上范围下限,就可以得到在指定范围内的随机数。

例如,我们可以生成一个3行4列的,元素在-10到10之间的随机数组:

import numpy as np

arr = np.random.uniform(-10, 10, size=(3, 4))

print(arr)
Python

输出结果:

[[-0.81224769 -3.37722815  6.16242559 -9.2407248 ]
 [ 9.08630563 -9.21792858 -8.92896698 -8.64440387]
 [-4.37847873 -6.14086139 -6.06240671 -9.9254266 ]]
Python

最大值和最小值的限制

在生成随机数组时,我们可以通过设定最大值和最小值的限制来控制随机数的范围。例如,我们可以生成一个3行4列的,元素在-10到10之间且不小于0的随机数组:

import numpy as np

arr = np.random.uniform(0, 10, size=(3, 4))

print(arr)
Python

输出结果:

[[0.11403308 1.45426697 8.32731546 1.31731511]
 [1.09248561 2.81333195 8.78591104 7.75283426]
 [9.02024733 7.93087687 4.5691599  6.92760139]]
Python

保留小数点位数

在生成随机数组时,我们可以通过round函数来控制小数点后的位数,使生成的随机数组更符合要求。

例如,我们可以生成一个3行4列的,元素在-10到10之间,保留2位小数的随机数组:

import numpy as np

arr = np.random.uniform(-10, 10, size=(3, 4))
arr = np.round(arr, decimals=2)

print(arr)
Python

输出结果:

[[-4.6 -9.28  1.38 -5.8 ]
 [ 4.69  6.33  7.94  3.5 ]
 [-9.06 -2.98 -7.16 -6.8 ]]
Python

总结

本文介绍了使用Numpy生成指定范围内随机数组的方法,包括使用np.random.randnp.random.uniform函数生成随机数组,并通过限制最大值和最小值、保留小数点位数等方式控制生成的随机数组的范围和精度。掌握这些方法,可以大大提高我们在科学计算和数据分析等领域中处理数据的效率。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册