在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 内置字符串处理函数的使用方法
Jun 11 Python
python实现堆栈与队列的方法
Jan 15 Python
python结合shell查询google关键词排名的实现代码
Feb 27 Python
python中csv文件的若干读写方法小结
Jul 04 Python
漂亮的Django Markdown富文本app插件的实现
Jan 02 Python
python使用pipeline批量读写redis的方法
Feb 18 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
TensorFlow实现checkpoint文件转换为pb文件
Feb 10 Python
Python3中的f-Strings增强版字符串格式化方法
Mar 04 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
python连接mysql数据库并读取数据的实现
Sep 25 Python
tensorboard 可视化之localhost:6006不显示的解决方案
May 22 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无敌近乎加密方式!
2010/07/17 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
PHP进程通信基础之信号
2017/02/19 PHP
Aster vs Newbee BO5 第二场2.19
2021/03/10 DOTA
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
js使用函数绑定技术改变事件处理程序的作用域
2011/12/26 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
2019/08/08 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
python获取本机mac地址和ip地址的方法
2015/04/29 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
浅谈Python生成器generator之next和send的运行流程(详解)
2017/05/08 Python
python实现自动登录后台管理系统
2018/10/18 Python
python实现根据文件格式分类
2019/10/31 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
2020/05/11 Python
python 基于opencv操作摄像头
2020/12/24 Python
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
社团文化节策划书
2014/02/01 职场文书
《晏子使楚》教学反思
2014/02/08 职场文书
新教师工作感言
2014/02/16 职场文书
校庆筹备方案
2014/03/30 职场文书
音乐幼师求职信
2014/07/09 职场文书
2015年世界环境日活动方案
2015/05/05 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书
总结Python常用的魔法方法
2021/05/25 Python