在python中画正态分布图像的实例


Posted in Python onJuly 08, 2019

1.正态分布简介

正态分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一个非常重要也非常常见的连续概率分布。正态分布大家也都非常熟悉,下面做一些简单的介绍。

假设随机变量XX服从一个位置参数为μμ、尺度参数为σσ的正态分布,则可以记为:

在python中画正态分布图像的实例

而概率密度函数为

在python中画正态分布图像的实例

2.在python中画正态分布直方图

先直接上代码

import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt


def demo1():
  mu ,sigma = 0, 1
  sampleNo = 1000
  np.random.seed(0)
  s = np.random.normal(mu, sigma, sampleNo)

  plt.hist(s, bins=100, normed=True)
  plt.show()

上面是一个标准正态分布的直方图。最后输出的图像为:

在python中画正态分布图像的实例

很多同学心里会有疑惑:这个图像看上去虽然是有点奇怪,虽然形状有点像正态分布,但是差得还比较多嘛,不能算是严格意义上的正态分布。

为什么会有这种情况出现呢?其实原因很简单,代码中我们设定的smapleno = 1000。这个数量并不是很大,所以整个图像看起来分布并不是很规则,只是有大致的正态分布的趋势。如果我们将这个参数加大,相当于增加样本数量,那么整个图像就会更加接近正态分布的形状。跟抛硬币的原理一致,抛的次数越多,正面与反面的出现概率更接近50%。

如果我们将sampleno设置为1000000,分布图像如下。

在python中画正态分布图像的实例

下面这个图像是不是看起来就漂亮多了!

3.画直方图与概率分布曲线

import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt

def demo2():
  mu, sigma , num_bins = 0, 1, 50
  x = mu + sigma * np.random.randn(1000000)
  # 正态分布的数据
  n, bins, patches = plt.hist(x, num_bins, normed=True, facecolor = 'blue', alpha = 0.5)
  # 拟合曲线
  y = mlab.normpdf(bins, mu, sigma)
  plt.plot(bins, y, 'r--')
  plt.xlabel('Expectation')
  plt.ylabel('Probability')
  plt.title('histogram of normal distribution: $\mu = 0$, $\sigma=1$')

  plt.subplots_adjust(left = 0.15)
  plt.show()

最后得到的图像为:

在python中画正态分布图像的实例

以上这篇在python中画正态分布图像的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 解析XML文件
Apr 15 Python
pycharm中连接mysql数据库的步骤详解
May 02 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
python实现读Excel写入.txt的方法
Apr 29 Python
Python实现的NN神经网络算法完整示例
Jun 19 Python
wxPython实现带颜色的进度条
Nov 19 Python
Python hmac模块使用实例解析
Dec 24 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
使用Python解析Chrome浏览器书签的示例
Nov 13 Python
Manjaro、pip、conda更换国内源的方法
Nov 17 Python
python析构函数用法及注意事项
Jun 22 Python
Python+Pillow+Pytesseract实现验证码识别
May 11 Python
python实现beta分布概率密度函数的方法
Jul 08 #Python
python中pip的使用和修改下载源的方法
Jul 08 #Python
python绘制直方图和密度图的实例
Jul 08 #Python
搭建python django虚拟环境完整步骤详解
Jul 08 #Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 #Python
33个Python爬虫项目实战(推荐)
Jul 08 #Python
详解python中的time和datetime的常用方法
Jul 08 #Python
You might like
PHP中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
Angular.js中上传指令ng-upload的基本使用教程
2017/07/30 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
2018/12/19 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
python元组操作实例解析
2014/09/23 Python
深入讲解Java编程中类的生命周期
2016/02/05 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
python进行两个表格对比的方法
2018/06/27 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
CSS3动画之利用requestAnimationFrame触发重新播放功能
2019/09/11 HTML / CSS
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
优秀毕业自我鉴定
2014/02/15 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
机关党总支领导班子整改方案
2014/09/20 职场文书
2015年班级元旦晚会活动总结
2014/11/28 职场文书
护理专业自荐信范文
2015/03/06 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
小爸爸观后感
2015/06/15 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS
解决vue中provide inject的响应式监听
2022/04/19 Vue.js
MySQL详细讲解变量variables的用法
2022/06/21 MySQL