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中几个常用的类方法
Apr 08 Python
python使用in操作符时元组和数组的区别分析
May 19 Python
Python 探针的实现原理
Apr 23 Python
Python之批量创建文件的实例讲解
May 10 Python
Python实现拷贝/删除文件夹的方法详解
Aug 29 Python
对python Tkinter Text的用法详解
Oct 11 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
Python Pandas数据中对时间的操作
Jul 30 Python
opencv-python 提取sift特征并匹配的实例
Dec 09 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
django有哪些好处和优点
Sep 01 Python
Python猫眼电影最近上映的电影票房信息
Sep 18 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模板引擎Smarty的缓存使用总结
2014/04/24 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
详解Bootstrap 学习(一)入门
2019/04/12 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
python算法学习之基数排序实例
2013/12/18 Python
Python程序设计入门(2)变量类型简介
2014/06/16 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
美国受欢迎的女性牛仔裤品牌:DL1961
2016/11/12 全球购物
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
土建资料员岗位职责
2014/01/04 职场文书
小型女装店的创业计划书
2014/01/09 职场文书
大学生英语演讲稿
2014/04/24 职场文书
社区清明节活动总结
2014/07/04 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
作息时间调整通知
2015/04/22 职场文书
幽默导游词开场白
2015/05/29 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
Nginx源码编译安装过程记录
2021/11/17 Servers
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技