文章目录
一、前言
最近需要大量的正态分布的数据,为了方便,使用python实现随机正态分布,画出理想正态分布图和实际的矩形分布,并导出到表格里面。
二、使用步骤
1.引入库
下面是编写代码所用到的库
import numpy as np #随机数
import matplotlib.pyplot as plt #画图
import xlwt #导出表格
2.随机正态分布生成算法
生成的数据是100*100,且使用了两种生成正态分布的算法。
- 一种是基于最大值、最小值范围得到的随机分布。
result = np.random.randint(0, 100, size=100) # 最小值,最大值,数量
- 一种是基于均值和标准差得到的随机分布。
result = np.random.normal(60, 20, (row,cols)) # 均值,标准差,数量
可以看到,两种算法当中,基于均值和标准差得到的数据更接近正态分布,接下来以第二种做演示。
2.1.利用np.random.normal函数生成二维数据
# 根据均值、标准差,求指定范围的正态分布概率值
def normfun(x, mu, sigma):
pdf = np.exp(-((x - mu)**2)/(2*sigma**2)) / (sigma * np.sqrt(2*np.pi))
return pdf
row = 100 #行
cols = 100 #列
#随机生成,整体正态分布
# result = np.random.randint(0, 100, size=100) # 最小值,最大值,数量
result = np.random.normal(60, 20, (row,cols)) # 均值,标准差,数量
#print(result)
生成的数据
2.2.利用for循环生成100*100数据
# 根据均值、标准差,求指定范围的正态分布概率值
def normfun(x, mu, sigma):
pdf = np.exp(-((x - mu)**2)/(2*sigma**2)) / (sigma * np.sqrt(2*np.pi))
return pdf
row = 100 #行
cols = 84 #列
result_arr = [[0 for<