如何用随机数创建一个NumPy矩阵(附实例)

273 阅读2分钟

你可以使用以下方法来创建一个带有随机数的NumPy矩阵:

方法1:创建随机整数的NumPy矩阵

np.random.randint(low, high, (rows, columns))

方法2:创建随机浮点数的NumPy矩阵

np.random.rand(rows, columns)

下面的例子展示了如何在实践中使用每种方法。

例1:创建随机整数的NumPy矩阵

下面的代码展示了如何创建一个范围从020的NumPy随机值矩阵,其形状为7行 2列

import numpy as np

#create NumPy matrix of random integers
np.random.randint(0, 20, (7, 2))

array([[ 3,  7],
       [17, 10],
       [ 0, 10],
       [13, 16],
       [ 6, 14],
       [ 8,  7],
       [ 9, 15]])

注意,矩阵中的每个值都在0到20之间,矩阵的最终形状是7行2列。

例2: 创建随机浮点数的NumPy矩阵

下面的代码显示了如何创建一个NumPy矩阵,其随机浮点数在01之间,形状为72行。

import numpy as np

#create NumPy matrix of random floats
np.random.rand(7, 2)

array([[0.64987774, 0.60099292],
       [0.13626106, 0.1859029 ],
       [0.77007972, 0.65179164],
       [0.33524707, 0.46201819],
       [0.1683    , 0.72960909],
       [0.76117417, 0.37212974],
       [0.18879731, 0.65723325]])

结果是一个NumPy矩阵,包含0到1之间的随机浮点数值,形状为7行2列。

注意,你也可以使用NumPy**round()**函数将每个浮点数四舍五入到一定的小数位数。

例如,下面的代码显示了如何创建一个NumPy矩阵,其中的随机浮点数都被四舍五入到小数点后2位。

import numpy as np

#create NumPy matrix of random floats rounded to 2 decimal places
np.round(np.random.rand(5, 2), 2)

array([[0.37, 0.63],
       [0.51, 0.68],
       [0.23, 0.98],
       [0.62, 0.46],
       [0.02, 0.94]])

注意:你可以在这里找到NumPyrand()函数的完整文档。

其他资源

下面的教程解释了如何在Python中进行其他常见的转换:

如何将Pandas DataFrame列转换为字符串
如何将Pandas中的时间戳转换为日期时间
如何将Pandas中的日期时间转换为日期