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

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

  1. 使用matplotlib的画图接口hist(),直接画出pdf分布;
  2. 使用numpy的数据处理函数histogram(),可以生成pdf分布数据,方便进行后续的数据处理,比如进一步生成cdf;
  3. 使用seaborn的distplot(),好处是可以进行pdf分布的拟合,查看自己数据的分布类型;

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

from scipy import stats
import matplotlib.pyplot as plt
import numpy as np
import seaborn as snsarr = 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的方法:

  1. 使用numpy的数据处理函数histogram(),生成pdf分布数据,进一步生成cdf;
  2. 使用seaborn的cumfreq(),直接画出cdf;

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

from scipy import stats
import matplotlib.pyplot as plt
import numpy as np
import seaborn as snsarr = 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分别进行归一化。

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

from scipy import stats
import matplotlib.pyplot as plt
import numpy as np
import seaborn as snsarr = 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()

转载于:https://www.cnblogs.com/wangjingchn/p/7376470.html

Python处理PDF与CDF相关推荐

  1. 用python画熊_Python绘制PDF,CDF

    PDF,CDF 正态分布的PDF和CDF对比: PDF:概率密度函数(probability density function) CDF : 累积分布函数 (cumulative distributi ...

  2. Python自动化办公系列之Python操作PDF

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 输 作者介绍: 大家可以叫我黄同学(博客名:Huang Supre ...

  3. python怎么玩pdf_最全总结!聊聊 python 操作PDF的几种方法

    作者:陈熹 来源:早起Python 一.前言 大家好,有关Python操作PDF的案例之前已经写过一个PDF批量合并,这个案例初衷只是给大家提供一个便利的脚本,并没有太多讲解原理,其中涉及的就是PDF ...

  4. python pdf-浅谈Python处理PDF的方法

    处理pdf文档 第一. 从文本中提取文本 第二. 创建PDF 两种方法 #使用PdfFileWriter import PyPDF2 pdfFiles = [] for filename in os. ...

  5. 疯狂python讲义视频 百度云-疯狂Python讲义 PDF高清版附源码

    内容简介 本书全面,深入地介绍了Python编程的相关内容,大致可分为四个部分.*系统部分介绍了Python的基本语法结构,函数编程,类和对象,模块和包,异常处理等: 第二部分主要介绍Python常用 ...

  6. python csv转excel_使用 Python 把 PDF 转为 CSV 和 Excel(一)

    杭州国立公证处-公正摇号 会不定期公布杭州各个楼盘的购房意向登记汇总表和摇号结果,里面公开的数据是很全面的,对于想要分析一波数据搞点事情的人来说,挺有吸引力的. 但当你兴冲冲地去官网下载完数据,一看傻 ...

  7. python读取pdf表格_【Python 库】解析PDF文本及表格——pdfminer、tabula、pdfplumber 的用法及对比...

    pdf 是个异常坑爹的东西,有很多处理 pdf 的库,但是没有完美的. 一.pdfminer3k pdfminer3k 是 pdfminer 的 python3 版本,主要用于读取 pdf 中的文本. ...

  8. python实现pdf转word详解_手把手|20行Python代码教你批量将PDF文件转为Word格式(包教包会)...

    在日常工作或学习中,经常会遇到这样的无奈: "小任,你把这个PDF中的文件码出来发我" 倒霉,2M的PDF12点也完不了啊! 很多时候在学习时发现许多文档都是PDF格式,PDF格式 ...

  9. python处理pdf提取指定数据_python从PDF中提取数据的示例

    01 前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都 ...

最新文章

  1. 2018html游戏引擎,跨平台三维游戏引擎Unity Pro 2018.1 Win x64
  2. 干货丨一文看懂生成对抗网络:从架构到训练技巧
  3. 【嵌入式开发】C语言 命令行参数 函数指针 gdb调试
  4. 6 岁!是时候重新认识下 Serverless 了
  5. Android普及入门
  6. open external url via transaction launcher sina baidu google web
  7. mysql_load
  8. 止欲知足,为获得幸福生活的根本法则之一
  9. java项目怎么启动_github上的java项目怎么运行(面向小白)
  10. app源码 php,PHP大型B2B2C商城源码带APP源码
  11. 基于hilbert变换的数字信号_hilbert变换
  12. Win11快捷键大全
  13. python查找excel中重复数据_python中查找excel某一列的重复数据剔除之后打印
  14. 微信微博防劫持短网址生成
  15. (2015秋) 团队博客及分组情况
  16. 两码一号:整体方案回顾
  17. 解决无线路由器wds桥接频繁掉线的办法
  18. 哈工大软件构造实验二有感
  19. 光做魔杖,玩转液滴,登上《Science Advances》!
  20. 坐标系转换矩阵和几何转换矩阵的关系

热门文章

  1. STM32 FSMC 外部使用SRAM
  2. 关掉Ctrl+Alt+方向键转屏功能
  3. 如何分配和释放存储空间
  4. LCD编程_LCD控制器
  5. vue循环渲染变量类样式
  6. codeforces271D
  7. 2.7 HBase架构深入剖析
  8. 注销凭证与自定义屏幕
  9. 一个有意思的js小问题
  10. string.Equals 比较2个字符串是否相同忽略大小写