📜  python中的numpy随机数(1)

📅  最后修改于: 2023-12-03 15:19:27.467000             🧑  作者: Mango

Python中的Numpy随机数

在数据科学,机器学习和深度学习等领域中,随机数生成是一个非常重要的功能。Numpy是Python中一个非常流行的科学计算库,可以帮助我们生成各种各样的随机数。

随机数生成

在Numpy中,有多种方法可以生成随机数。下面我们将介绍其中的一些方法。

生成随机整数

我们可以使用numpy.random.randint()函数生成随机整数。它接受三个参数:最小值,最大值和大小。

import numpy as np

# 生成大小为5的1到10之间的随机整数数组
x = np.random.randint(1, 10, size=5)
print(x)

输出:

[7 3 7 9 9]
生成随机浮点数

我们可以使用numpy.random.rand()函数生成随机浮点数。它接受一个可选参数n,表示生成n个随机数。如果不传参数n,默认生成一个浮点数。

import numpy as np

# 生成一个随机浮点数
x = np.random.rand()
print(x)

# 生成大小为3x2的随机浮点数矩阵
x = np.random.rand(3, 2)
print(x)

输出:

0.11055167807292383
[[0.77857534 0.98555794]
 [0.11021811 0.0454279 ]
 [0.00980364 0.13916372]]
生成正态分布随机数

我们可以使用numpy.random.randn()函数生成符合标准正态分布的随机数。如果想要生成符合高斯分布(正态分布)的随机数,可以使用numpy.random.normal()函数。

import numpy as np

# 生成大小为3的标准正态分布随机数数组
x = np.random.randn(3)
print(x)

# 生成大小为3x2的符合高斯分布的随机数矩阵,均值为1,方差为2
x = np.random.normal(loc=1, scale=2, size=(3, 2))
print(x)

输出:

[ 2.08331537 -1.13538419  0.77592496]
[[2.30857305 5.68467058]
 [2.51349728 0.23838332]
 [0.7997304  3.53205555]]
打乱数组顺序

有时候我们想要打乱一个数组的顺序,可以使用numpy.random.shuffle()函数。

import numpy as np

x = np.array([1, 2, 3, 4, 5])
np.random.shuffle(x)
print(x)

输出:

[4 5 3 2 1]
随机数种子

在生成随机数的过程中,我们需要考虑到随机数种子的问题。每次生成随机数,若不设置种子,则每次生成的结果都是不同的。如果想生成固定的随机数序列,可以设置随机数种子。

import numpy as np

# 设置随机数种子
np.random.seed(5)

# 每次生成的随机数都是相同的
x = np.random.rand(5)
print(x)

np.random.seed(5)
y = np.random.rand(5)
print(y)

输出:

[0.22199317 0.87073231 0.20671916 0.91861091 0.48841119]
[0.22199317 0.87073231 0.20671916 0.91861091 0.48841119]

以上就是Numpy中一些生成随机数的方法,希望能帮助到大家。