Python生成正态分布随机数
1. 什么是正态分布
正态分布(Normal Distribution),也叫高斯分布(Gaussian Distribution),是一个非常常见且重要的概率分布。在统计学中,大部分连续性的自然现象都可以近似地符合正态分布。正态分布的概率密度函数呈钟形曲线,两侧尾部渐进于0。
正态分布由两个参数决定,即均值(μ)和方差(σ²),其中均值决定了曲线的中心位置。
2. Python生成正态分布随机数的方法
在Python中,我们可以使用numpy
包中的random
模块来生成正态分布随机数。numpy
是一个用于科学计算的强大库,random
模块提供了多种生成随机数的方法,包括正态分布。
下面是5个示例代码及其运行结果:
2.1 生成一个正态分布随机数
import numpy as np
mu = 0 # 均值
sigma = 1 # 标准差
random_number = np.random.normal(mu, sigma)
print(random_number)
运行结果:
0.820047416508
2.2 生成一个正态分布随机数组
import numpy as np
mu = 0 # 均值
sigma = 1 # 标准差
size = 5 # 数组长度
random_array = np.random.normal(mu, sigma, size)
print(random_array)
运行结果:
[-0.46426528 0.93916435 -1.23965385 0.39868116 -0.59875099]
2.3 生成一个正态分布随机矩阵
import numpy as np
mu = 0 # 均值
sigma = 1 # 标准差
size = (3, 3) # 矩阵维度
random_matrix = np.random.normal(mu, sigma, size)
print(random_matrix)
运行结果:
[[-0.94142414 1.19164046 -1.40366462]
[-0.61866611 0.62538484 -0.47381547]
[ 1.06031108 0.03237812 -0.79071266]]
2.4 生成多组正态分布随机数
import numpy as np
mu = 0 # 均值
sigma = 1 # 标准差
size = (3, 5) # 组数和每组的元素个数
random_numbers = np.random.normal(mu, sigma, size)
print(random_numbers)
运行结果:
[[-0.90671091 -0.46696775 -0.66340752 -0.24537518 1.01207652]
[ 0.73908629 1.58376268 1.04272849 -0.57619492 -0.05585936]
[ 0.08093381 -1.94232154 0.2587839 1.37196578 1.38686614]]
2.5 生成指定形状的正态分布随机数
import numpy as np
mu = 0 # 均值
sigma = 1 # 标准差
size = (2, 2, 2) # 数组维度
random_numbers = np.random.normal(mu, sigma, size)
print(random_numbers)
运行结果:
[[[-1.46467121 -0.37756466]
[ 0.78518408 -1.08426921]]
[[ 2.3222561 -0.52712968]
[ 0.61952954 -1.42928139]]]
3. 总结
通过使用numpy
包中的random
模块,我们可以轻松地生成正态分布随机数。掌握了这个方法后,我们可以在各种需要正态分布随机数的场景中使用,如模拟实验、统计分析等。