在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爬虫抓取手机APP的传输数据
Jan 22 Python
Python使用sftp实现上传和下载功能(实例代码)
Mar 14 Python
Python+selenium实现截图图片并保存截取的图片
Jan 05 Python
python3+mysql查询数据并通过邮件群发excel附件
Feb 24 Python
python实现跨excel的工作表sheet之间的复制方法
May 03 Python
Python内存读写操作示例
Jul 18 Python
pyqt5的QComboBox 使用模板的具体方法
Sep 06 Python
Python简单基础小程序的实例代码
Apr 28 Python
python列表每个元素同增同减和列表元素去空格的实例
Jul 20 Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
通过python-pptx模块操作ppt文件的方法
Dec 26 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批量生成缩略图的代码
2008/07/19 PHP
在JavaScript中调用php程序
2009/03/09 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
2011/10/23 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
js输出列表实现代码
2010/09/12 Javascript
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
Python实现的密码强度检测器示例
2017/08/23 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
应届生煤化工求职信
2013/10/21 职场文书
兼职业务员岗位职责
2014/01/01 职场文书
如何撰写岗位职责
2014/02/01 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
党员干部反四风民主生活会对照检查材料思想汇报
2014/10/12 职场文书
信访工作汇报材料
2014/10/27 职场文书
五年级下册复习计划
2015/01/19 职场文书
校本研修个人总结
2015/02/28 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
php去除deprecated的实例方法
2021/11/17 PHP