Python生成正态分布随机数

Python生成正态分布随机数

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模块,我们可以轻松地生成正态分布随机数。掌握了这个方法后,我们可以在各种需要正态分布随机数的场景中使用,如模拟实验、统计分析等。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程