在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中将单词首字母大写的capitalize()方法
May 18 Python
Python实现字典的key和values的交换
Aug 04 Python
浅谈python类属性的访问、设置和删除方法
Jul 25 Python
python之super的使用小结
Aug 13 Python
python3实现多线程聊天室
Dec 12 Python
使用pygame写一个古诗词填空通关游戏
Dec 03 Python
tensorflow 实现数据类型转换
Feb 17 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
Mar 30 Python
Python批量将图片灰度化的实现代码
Apr 11 Python
Keras: model实现固定部分layer,训练部分layer操作
Jun 28 Python
python遍历路径破解表单的示例
Nov 21 Python
Django web自定义通用权限控制实现方法
Nov 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抓取https的内容的代码
2010/04/06 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
JavaScript模板引擎Template.js使用详解
2016/12/15 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
2019/09/26 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
Python实现批量读取word中表格信息的方法
2015/07/30 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
Linux操作面试题
2012/05/16 面试题
自我鉴定注意事项
2014/01/19 职场文书
小学家长学校培训材料
2014/08/24 职场文书
2014年医德医风工作总结
2014/11/13 职场文书
办公室主任岗位职责
2015/01/31 职场文书
发票退票证明
2015/06/24 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
安装pytorch时报sslerror错误的解决方案
2021/05/17 Python
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python
python如何查找列表中元素的位置
2022/05/30 Python