在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调用机器喇叭发出蜂鸣声(Beep)的方法
Mar 23 Python
使用rpclib进行Python网络编程时的注释问题
May 06 Python
Django框架下在视图中使用模版的方法
Jul 16 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Jul 04 Python
Python实现抢购IPhone手机
Feb 07 Python
基于python requests库中的代理实例讲解
May 07 Python
Python HTMLTestRunner可视化报告实现过程解析
Apr 10 Python
python 利用opencv实现图像网络传输
Nov 12 Python
如何利用Python写个坦克大战
Nov 18 Python
用 Django 开发一个 Python Web API的方法步骤
Dec 03 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
Jan 05 Python
python中yield的用法详解
Jan 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
PHP setTime 设置当前时间的代码
2012/08/27 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
不安全的常用的js写法
2009/09/15 Javascript
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
2009/11/28 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
ClearTimeout消除闪动实例代码
2016/02/29 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
js实现日历的简单算法
2017/01/24 Javascript
基于Marquee.js插件实现的跑马灯效果示例
2017/01/25 Javascript
JavaScript实现三级联动菜单实例代码
2017/06/26 Javascript
Javascript Promise用法详解
2018/05/10 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
Django学习之文件上传与下载
2019/10/06 Python
浅谈CSS3动画的回调处理
2016/07/21 HTML / CSS
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
名词解释型面试题(主要是网络)
2013/12/27 面试题
机械设计毕业生自荐信
2014/02/02 职场文书
涉密人员保密承诺书
2014/05/28 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
医德医风自我评价2015
2015/03/03 职场文书
旷工辞退通知书
2015/04/17 职场文书
指导老师鉴定意见
2015/06/05 职场文书
《包身工》教学反思
2016/02/23 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL
Java org.w3c.dom.Document 类方法引用报错
2021/08/07 Java/Android
MySQL 字符集 character
2022/05/04 MySQL