在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 Django批量导入不重复数据
Mar 25 Python
python 网络编程详解及简单实例
Apr 25 Python
Python实现希尔排序算法的原理与用法实例分析
Nov 23 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
python微信跳一跳系列之棋子定位像素遍历
Feb 26 Python
Python2.7.10以上pip更新及其他包的安装教程
Jun 12 Python
python 获取毫秒数,计算调用时长的方法
Feb 20 Python
详解Python3除法之真除法、截断除法和下取整对比
May 23 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
Sep 23 Python
Python turtle库绘制菱形的3种方式小结
Nov 23 Python
python实现取余操作的简单实例
Aug 16 Python
Python和Bash结合在一起的方法
Nov 13 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
附件名前加网站名
2008/03/23 PHP
PHP学习之数组的定义和填充
2011/04/17 PHP
php之XML转数组函数的详解
2013/06/07 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
php中的依赖注入实例详解
2019/08/14 PHP
javascript 播放器 控制
2007/01/22 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
浅析创建javascript对象的方法
2016/05/13 Javascript
深入理解jQuery事件绑定
2016/06/02 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
2016/11/03 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
2017/04/19 Javascript
Javascript中的getter和setter初识
2017/08/17 Javascript
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
python list中append()与extend()用法分享
2013/03/24 Python
python中zip()方法应用实例分析
2016/04/16 Python
Python冒泡排序注意要点实例详解
2016/09/09 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
python如何获取服务器硬件信息
2017/05/11 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
详解小白之KMP算法及python实现
2019/04/04 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
英国在线花园中心:You Garden
2018/06/03 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
通信工程专业女生个人求职信
2013/09/21 职场文书
材料会计岗位职责
2014/03/06 职场文书
2016年中秋祝酒词
2015/11/26 职场文书
关于Python中*args和**kwargs的深入理解
2021/08/07 Python
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android