在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中的map()函数和reduce()函数的用法
Apr 27 Python
python创建和删除目录的方法
Apr 29 Python
python实现线程池的方法
Jun 30 Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 Python
解决Python print 输出文本显示 gbk 编码错误问题
Jul 13 Python
利用python在大量数据文件下删除某一行的例子
Aug 21 Python
Python集合基本概念与相关操作实例分析
Oct 30 Python
python函数局部变量、全局变量、递归知识点总结
Nov 15 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
解决pycharm 格式报错tabs和space不一致问题
Feb 26 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
Mar 04 Python
Python源码解析之List
May 21 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
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
解析PHP中intval()等int转换时的意外异常情况
2013/06/21 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
javascript动态创建及删除元素的方法
2014/12/22 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
js实现随机抽奖
2020/03/19 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
[41:08]2014 DOTA2国际邀请赛中国区预选赛 HGT VS NE
2014/05/22 DOTA
Python的迭代器和生成器
2015/07/29 Python
详解Python中heapq模块的用法
2016/06/28 Python
3分钟学会一个Python小技巧
2018/11/23 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
Lands’ End英国官方网站:高质量男女服装
2017/10/07 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
Linux文件操作命令都有哪些
2016/07/23 面试题
领导调研接待方案
2014/02/27 职场文书
农村葬礼主持词
2014/03/31 职场文书
个人安全生产责任书
2014/07/28 职场文书
学校开除通知书
2015/04/25 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
python单向链表实例详解
2022/05/25 Python