Python随机数生成器:randn()
方法
import numpy as np
# 生成5个标准正态分布随机数
random_nums = np.random.randn(5)
print(random_nums)
运行以上代码,会输出如下结果:
array([-0.53285617, 0.1547348 , 0.94350352, -1.43716742, -1.17990519])
可以看到,通过randn()
方法生成了5个符合标准正态分布的随机数。下面我们将通过更多的示例代码来演示randn()
方法的更多特性。
2. 生成多维数组的随机数
除了生成一维数组的随机数,randn()
方法还可以生成多维数组的随机数。以下是一个生成2×3的二维数组的示例代码:
import numpy as np
# 生成2×3的二维数组随机数
random_nums = np.random.randn(2, 3)
print(random_nums)
运行以上代码,会输出如下结果:
array([[ 0.55388531, -0.45053397, 0.79850747],
[-0.37341615, -0.27742241, -1.23436999]])
可以看到,通过randn()
方法生成了一个2×3的二维数组,每个元素都是符合标准正态分布的随机数。
3. 生成指定均值和标准差的随机数
除了生成标准正态分布的随机数外,randn()
方法还可以生成符合指定均值和标准差的随机数。以下是一个生成均值为2,标准差为0.5的随机数示例代码:
import numpy as np
# 生成均值为2,标准差为0.5的随机数
mu, sigma = 2, 0.5
random_nums = mu + sigma * np.random.randn(5)
print(random_nums)
运行以上代码,会输出如下结果:
array([1.86733788, 1.48945501, 1.7278602 , 2.17314949, 2.37855443])
可以看到,通过randn()
方法生成了5个均值为2,标准差为0.5的随机数。这样,我们可以根据实际需求生成符合指定均值和标准差的随机数。
4. 生成大量随机数并可视化
有时候,我们需要生成大量的随机数,并通过可视化来直观地观察这些随机数的分布。以下是一个生成1000个标准正态分布随机数并通过直方图可视化的示例代码:
import numpy as np
import matplotlib.pyplot as plt
# 生成1000个标准正态分布随机数
random_nums = np.random.randn(1000)
# 绘制直方图
plt.hist(random_nums, bins=30, color='skyblue', edgecolor='black')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram of Random Numbers')
plt.show()
运行以上代码,会显示一个直方图,用以展示生成的1000个标准正态分布随机数的分布情况。
通过以上示例代码,我们详细介绍了使用numpy
库中的randn()
方法来生成随机数的方法和特性。