在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测试驱动开发实例
Oct 08 Python
python文件操作之目录遍历实例分析
May 20 Python
Python 爬虫学习笔记之正则表达式
Sep 21 Python
Linux 下 Python 实现按任意键退出的实现方法
Sep 25 Python
Python编程对列表中字典元素进行排序的方法详解
May 26 Python
Python交互环境下实现输入代码
Jun 22 Python
python爬虫之urllib3的使用示例
Jul 09 Python
python机器学习实现决策树
Nov 11 Python
Flask框架搭建虚拟环境的步骤分析
Dec 21 Python
Python测试线程应用程序过程解析
Dec 31 Python
python实现数据结构中双向循环链表操作的示例
Oct 09 Python
python删除csv文件的行列
Apr 06 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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
2013/06/28 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
js 动态选中下拉框
2009/11/26 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
JS操作iframe里的dom(实例讲解)
2014/01/29 Javascript
javascript模拟命名空间
2015/04/17 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
python生成指定长度的随机数密码
2014/01/23 Python
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
Python实现控制台输入密码的方法
2015/05/29 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
Python 微信爬虫完整实例【单线程与多线程】
2019/07/06 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
瑞士设计师家具和家居饰品网上商店:Bruno Wickart
2019/03/18 全球购物
远东集团网络工程师面试题
2014/10/20 面试题
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
J2EE系统只能是基于web
2015/09/08 面试题
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
小学课外阅读总结
2014/07/09 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
2014年材料员工作总结
2014/11/19 职场文书
员工自我评价范文
2015/03/11 职场文书
2015年采购部工作总结
2015/04/23 职场文书
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS