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

在Python中使用numpy.random.randn()生成高斯分布的随机数

发布时间:2023-12-24 09:40:37

numpy.random.randn()是numpy库中的一个函数,用于生成服从标准正态分布(高斯分布)的随机数。它返回一个或多个样本,这些样本是从均值为0,方差为1的标准正态分布中随机抽取的。

下面是一个例子,展示了如何使用numpy.random.randn()来生成高斯分布的随机数:

import numpy as np

# 生成一个随机数,服从标准正态分布
random_num = np.random.randn()
print(random_num)

# 生成一个1行5列的随机矩阵,每个元素服从标准正态分布
random_array = np.random.randn(1, 5)
print(random_array)

# 生成一个100行1列的随机矩阵,每个元素服从标准正态分布
random_matrix = np.random.randn(100, 1)
print(random_matrix)

# 生成一个1000个元素的一维数组,每个元素服从标准正态分布
random_array_1d = np.random.randn(1000)
print(random_array_1d)

# 可以通过设置均值和标准差来生成不同均值和方差的正态分布随机数
mean = 5
std_dev = 2
random_nums_custom = np.random.randn(1000) * std_dev + mean
print(random_nums_custom)

上述代码中,首先导入了numpy库,并使用np.random.randn()函数生成了不同维度和尺寸的随机数。其中:

- random_num生成一个单个的服从标准正态分布的随机数;

- random_array生成一个1行5列的随机矩阵,每个元素服从标准正态分布;

- random_matrix生成一个100行1列的随机矩阵,每个元素服从标准正态分布;

- random_array_1d生成一个含有1000个元素的一维数组,每个元素服从标准正态分布;

- random_nums_custom通过设置均值为5、标准差为2来生成一个含有1000个元素的一维数组,每个元素服从均值为5、方差为4的正态分布。

通过以上例子,你可以很方便地使用numpy.random.randn()生成服从高斯分布的随机数,可以根据需要生成不同维度和尺寸的随机数,并可通过设置均值和标准差来生成不同均值和方差的正态分布随机数。