Python处理PDF与CDF实例


Posted in Python onFebruary 26, 2020

在拿到数据后,最需要做的工作之一就是查看一下自己的数据分布情况。而针对数据的分布,又包括pdf和cdf两类。

下面介绍使用python生成pdf的方法:

使用matplotlib的画图接口hist(),直接画出pdf分布;

使用numpy的数据处理函数histogram(),可以生成pdf分布数据,方便进行后续的数据处理,比如进一步生成cdf;

使用seaborn的distplot(),好处是可以进行pdf分布的拟合,查看自己数据的分布类型;

Python处理PDF与CDF实例

上图所示为采用3种算法生成的pdf图。下面是源代码。

from scipy import stats
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

arr = np.random.normal(size=100)

# plot histogram
plt.subplot(221)
plt.hist(arr)

# obtain histogram data
plt.subplot(222)
hist, bin_edges = np.histogram(arr)
plt.plot(hist)

# fit histogram curve
plt.subplot(223)
sns.distplot(arr, kde=False, fit=stats.gamma, rug=True)
plt.show()

下面介绍使用python生成cdf的方法:

使用numpy的数据处理函数histogram(),生成pdf分布数据,进一步生成cdf;

使用seaborn的cumfreq(),直接画出cdf;

Python处理PDF与CDF实例

上图所示为采用2种算法生成的cdf图。下面是源代码。

from scipy import stats
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

arr = np.random.normal(size=100)

plt.subplot(121)
hist, bin_edges = np.histogram(arr)
cdf = np.cumsum(hist)
plt.plot(cdf)

plt.subplot(122)
cdf = stats.cumfreq(arr)
plt.plot(cdf[0])

plt.show()

在更多时候,需要把pdf和cdf放在一起,可以更好的显示数据分布。这个实现需要把pdf和cdf分别进行归一化。

Python处理PDF与CDF实例

上图所示为归一化的pdf和cdf。下面是源代码。

from scipy import stats
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

arr = np.random.normal(size=100)

hist, bin_edges = np.histogram(arr)
width = (bin_edges[1] - bin_edges[0]) * 0.8
plt.bar(bin_edges[1:], hist/max(hist), width=width, color='#5B9BD5')

cdf = np.cumsum(hist/sum(hist))
plt.plot(bin_edges[1:], cdf, '-*', color='#ED7D31')

plt.xlim([-2, 2])
plt.ylim([0, 1])
plt.grid()

plt.show()

以上这篇Python处理PDF与CDF实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现class对象转换成json/字典的方法
Mar 11 Python
Python 实现一个颜色色值转换的小工具
Dec 06 Python
Python3.5 创建文件的简单实例
Apr 26 Python
linux环境下安装python虚拟环境及注意事项
Jan 07 Python
Python OpenCV读取显示视频的方法示例
Feb 20 Python
Python基于pyecharts实现关联图绘制
Mar 27 Python
Django中ORM找出内容不为空的数据实例
May 20 Python
Python内置异常类型全面汇总
May 28 Python
通俗讲解python 装饰器
Sep 07 Python
基于OpenCV的路面质量检测的实现
Nov 04 Python
python 制作网站小说下载器
Feb 20 Python
python读取mnist数据集方法案例详解
Sep 04 Python
用Python绘制漫步图实例讲解
Feb 26 #Python
Django单元测试中Fixtures的使用方法
Feb 26 #Python
python 解压、复制、删除 文件的实例代码
Feb 26 #Python
Python递归调用实现数字累加的代码
Feb 25 #Python
python烟花效果的代码实例
Feb 25 #Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
Feb 25 #Python
使用python绘制cdf的多种实现方法
Feb 25 #Python
You might like
用PHP动态生成虚拟现实VRML网页
2006/10/09 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
php数据序列化测试实例详解
2017/08/12 PHP
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
Vue组件开发初探
2017/02/14 Javascript
基于vue2.0动态组件及render详解
2018/03/17 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
JavaScript中.min.js和.js文件的区别讲解
2019/02/13 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
python对常见数据类型的遍历解析
2019/08/27 Python
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
关于Assembly命名空间的三个面试题
2015/07/23 面试题
十岁生日父母答谢词
2014/01/18 职场文书
2014年中班元旦活动方案
2014/02/14 职场文书
副董事长岗位职责
2014/04/02 职场文书
诚信承诺书模板
2014/05/26 职场文书
大学生安全责任书
2014/07/25 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
降价通知函
2015/04/23 职场文书
运动会加油稿30字
2015/07/21 职场文书
导游词之镇江焦山
2019/11/21 职场文书
Python Django 后台管理之后台模型属性详解
2021/04/25 Python
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers