在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如何实现守护进程的方法示例
Feb 08 Python
python PyTorch参数初始化和Finetune
Feb 11 Python
Python使用numpy模块创建数组操作示例
Jun 20 Python
Python根据已知邻接矩阵绘制无向图操作示例
Jun 23 Python
利用Python如何制作好玩的GIF动图详解
Jul 11 Python
Python代码太长换行的实现
Jul 05 Python
对Django 转发和重定向的实例详解
Aug 06 Python
Python判断字符串是否xx开始或结尾的示例
Aug 08 Python
Python使用Slider组件实现调整曲线参数功能示例
Sep 06 Python
Python模块future用法原理详解
Jan 20 Python
PyQT5 实现快捷键复制表格数据的方法示例
Jun 19 Python
PyTorch安装与基本使用详解
Aug 31 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 判断数组是几维数组
2013/03/20 PHP
php如何把表单内容提交到数据库
2019/07/08 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
2009/08/03 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
jQuery+css3实现文字跟随鼠标的上下抖动
2015/07/31 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
详解React 在服务端渲染的实现
2017/11/16 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
2017/12/07 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
Python备份Mysql脚本
2008/08/11 Python
Python中os和shutil模块实用方法集锦
2014/05/13 Python
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
用Python编写web API的教程
2015/04/30 Python
浅谈Python中的数据类型
2015/05/05 Python
python中正则表达式与模式匹配
2019/05/07 Python
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
全球性的在线购物网站:Zapals
2017/03/22 全球购物
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
物理力学求职信
2014/02/18 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
大学生见习总结报告
2015/06/24 职场文书
2015年信息技术教研组工作总结
2015/07/22 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书