在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 3中print函数的使用方法总结
Aug 08 Python
Python实现查看系统启动项功能示例
May 10 Python
pandas进行数据的交集与并集方式的数据合并方法
Jun 27 Python
利用python实现对web服务器的目录探测的方法
Feb 26 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
elasticsearch python 查询的两种方法
Aug 04 Python
Python Collatz序列实现过程解析
Oct 12 Python
Pytorch 多维数组运算过程的索引处理方式
Dec 27 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 Python
如何学习Python time模块
Jun 03 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
python基础之类方法和静态方法
Oct 24 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 DOS攻击实现代码(附如何防范)
2012/05/29 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
浅谈JavaScript中promise的使用
2017/01/11 Javascript
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
vue中引用阿里字体图标的方法
2018/02/10 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
2018/02/27 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
JavaScript实现构造json数组的方法分析
2018/08/17 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
javascript使用canvas实现饼状图效果
2020/09/08 Javascript
wxPython中listbox用法实例详解
2015/06/01 Python
Python中getpass模块无回显输入源码解析
2018/01/11 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
对pytorch网络层结构的数组化详解
2018/12/08 Python
Python使用xpath实现图片爬取
2020/09/16 Python
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
计算机专业自荐信范文
2014/05/28 职场文书
企业读书活动总结
2014/06/30 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
参加招聘会后的感想
2015/08/10 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
Python 阶乘详解
2021/10/05 Python