Python處理PDF與CDF實(shí)例
在拿到數(shù)據(jù)后,最需要做的工作之一就是查看一下自己的數(shù)據(jù)分布情況。而針對(duì)數(shù)據(jù)的分布,又包括pdf和cdf兩類。
下面介紹使用python生成pdf的方法:
使用matplotlib的畫圖接口hist(),直接畫出pdf分布;
使用numpy的數(shù)據(jù)處理函數(shù)histogram(),可以生成pdf分布數(shù)據(jù),方便進(jìn)行后續(xù)的數(shù)據(jù)處理,比如進(jìn)一步生成cdf;
使用seaborn的distplot(),好處是可以進(jìn)行pdf分布的擬合,查看自己數(shù)據(jù)的分布類型;
上圖所示為采用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的數(shù)據(jù)處理函數(shù)histogram(),生成pdf分布數(shù)據(jù),進(jìn)一步生成cdf;
使用seaborn的cumfreq(),直接畫出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()
在更多時(shí)候,需要把pdf和cdf放在一起,可以更好的顯示數(shù)據(jù)分布。這個(gè)實(shí)現(xiàn)需要把pdf和cdf分別進(jìn)行歸一化。
上圖所示為歸一化的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實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python 用三行代碼提取PDF表格數(shù)據(jù)
- python如何提取英語(yǔ)pdf內(nèi)容并翻譯
- Python提取PDF內(nèi)容的方法(文本、圖像、線條等)
- python基于pdfminer庫(kù)提取pdf文字代碼實(shí)例
- python實(shí)現(xiàn)從pdf文件中提取文本,并自動(dòng)翻譯的方法
- Python批量提取PDF文件中文本的腳本
- python實(shí)現(xiàn)PDF中表格轉(zhuǎn)化為Excel的方法
- 基于Python快速處理PDF表格數(shù)據(jù)
- python輸出pdf文檔的實(shí)例
- python從PDF中提取數(shù)據(jù)的示例
相關(guān)文章
Python使用pyforms實(shí)現(xiàn)輕松構(gòu)建GUI
pyforms是一個(gè)基于Python的GUI框架,它提供了一種簡(jiǎn)單而強(qiáng)大的方式來(lái)構(gòu)建圖形用戶界面,本文將介紹pyforms的使用場(chǎng)景、優(yōu)勢(shì)以及常用的Python代碼案例,需要的小伙伴可以了解下2024-01-01Django調(diào)用百度AI接口實(shí)現(xiàn)人臉注冊(cè)登錄代碼實(shí)例
這篇文章主要介紹了Django調(diào)用百度AI接口實(shí)現(xiàn)人臉注冊(cè)登錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04python讓圖片按照exif信息里的創(chuàng)建時(shí)間進(jìn)行排序的方法
這篇文章主要介紹了python讓圖片按照exif信息里的創(chuàng)建時(shí)間進(jìn)行排序的方法,涉及Python操作圖片exif獲取信息的技巧,需要的朋友可以參考下2015-03-03python基于物品協(xié)同過(guò)濾算法實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了python基于物品協(xié)同過(guò)濾算法實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Python一行代碼識(shí)別發(fā)票并保存Excel示例詳解
這篇文章主要為大家介紹了Python一行代碼識(shí)別發(fā)票并保存Excel示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03python實(shí)現(xiàn)翻譯word表格小程序
這篇文章主要為大家詳細(xì)介紹了python翻譯word表格小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02詳解如何在Python中使用Jinja2進(jìn)行模板渲染
Jinja2 是一個(gè)現(xiàn)代的、設(shè)計(jì)精美的 Python 模板引擎,它使用類似于 Django 的模板語(yǔ)言來(lái)渲染文本文件,下面我將通過(guò)幾個(gè)例子展示如何在 Python 中使用 Jinja2 進(jìn)行模板渲染,文中有詳細(xì)的代碼供大家參考,需要的朋友可以參考下2024-08-08關(guān)于python pygame游戲進(jìn)行聲音添加的技巧
這篇文章主要給大家分享的是pygame游戲進(jìn)行聲音添加的方法,這文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!2021-10-10Python實(shí)現(xiàn)Tracert追蹤TTL值的方法詳解
Tracert命令跟蹤路由原理是IP路由每經(jīng)過(guò)一個(gè)路由節(jié)點(diǎn)TTL值會(huì)減一。本文我們將通過(guò)scapy構(gòu)造一個(gè)路由追蹤工具并實(shí)現(xiàn)一次追蹤,感興趣的小伙伴可以了解一下2022-10-10