Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Lognormal pdf在python中生成零

Lognormal pdf在python中生成零
EN

Stack Overflow用户
提问于 2017-04-20 12:59:16
回答 1查看 126关注 0票数 1

我想在指数分布的背景下,从对数正态分布生成随机数,如下所示:

我有100个从1到25的整数(比如位置)。这些整数是从我自己的类指数分布中生成的。

在这个地方,我想分发N个项目。但这些项目有自己的对数正态分布,有一些模式(在1到25之间)和标准偏差(从1到7)。我的代码是这样工作的:

我有一个称为variable_vec的位置数组,我知道N称为N,我知道模式称为pref_value,我知道标准差称为power_of_preference

首先,我将从pref_valuepower_of_preference计算shapescale参数。我的进步是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
unique_localities = np.unique(np.array(vec_of_variable)) #all values of localities
res1 = [0 for i in range(len(unique_localities))]
res = [0 for i in range(len(vec_of_variable))] #this will be desired output
for i in range(len(res1)):
    res1[i] = stats.lognorm.pdf(unique_localities[i], shape, 0, scale) #pdfs of values of localities
res1 = np.array([x/min(res1) for x in res1]) #here is the problem, min(res1) could be zero, see text
res1 = np.round(res1)
res1 = np.cumsum(res1)
item = 0
while item < N:
    r = random.uniform(0, max(res1))
    site_pdf_value_vec = [x for x in res1 if x >= r]
    site_pdf_value = min(site_pdf_value_vec) #this is value of locality where Ill place one item

代码还在继续,但关键部分在这里。简单地说,位置的logNormpdf值是我将物品放在那个位置的“概率”。这就是我需要pdf值的原因。

PS:这个方法是我的主管批准的,所以我不想改变它。

问题是,这有时会发生,那就是min(res1) = 0。然后除以零,res1就变成了无穷大数组。0到25之间的x的对数正态分布永远不会是零,但它可能非常接近。我认为这个问题是这些pdf值中的一个太接近于零,所以python会将其round为零。

我的问题是,如何在我的代码中避免在res1中得到零?我的想法是在python中用最小的正浮点数代替零,但我不知道这个值。还是有另一种更优雅的解决方案?

寻求帮助。

PS:有人可能会考虑不取res1的反转值,问题的步骤看起来是超流的。但这是控制,这些值中的最小值不是零。换句话说,每个位置都必须有一个“区间”“概率”,如果一个pdf为零,则它的概率不是区间,而是一个数字。

EN

回答 1

Stack Overflow用户

发布于 2017-04-20 14:02:26

计算lognorm.logpdf而不是lognorm.pdf,然后在日志空间中工作。对于舍入为零的非常小的概率,这应该具有更好的准确性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43520282

复制
相关文章
python中解析和生成pdf文件
python中可以对pdf文件进行解析和生成,分别需要安装pdfminer/pdfminer3k和reportlab文件库。
py3study
2020/01/08
2.6K0
Python处理PDF及生成多层PDF
Python提供了众多的PDF支持库,本文是在Python3环境下,试用了两个库来完成PDF的生成的功能。PyPDF对于读取PDF支持较好,但是没找到生成多层PDF的方法。Reportlab看起来更成熟,能够利用Canvas很方便的生成多层PDF,这样就能够实现图片扫描上来的内容也可以进行内容搜索的目标。
大江小浪
2018/07/24
2K0
python使用pdfkit生成pdf【python】
html = '<html><head><meta charset="UTF-8"></head>' \ '<body><div align="center"><p>%s</p></div></body></html>' % text
sinnoo
2020/11/13
1.5K0
在 Python 中创建和修改 PDF 文件
了解如何在 Python 中创建和修改 PDF 文件非常有用。该PDF,或P ortable d ocument ˚F ORMAT,是最常见的格式在互联网上共享的文件之一。PDF可以在一个文件中包含文本、图像、表格、表单和富媒体。
玖柒的小窝
2021/12/14
13K0
使用Python生成pdf文件
    Python平台的优秀PDF报表类库Reportlab。它不属于Python的标准类库,所以必须手动下载类库包并安装:       yum install python-reportlab -y     这篇文章将介绍reportlab中基本常用的api,使用canvas画出一份整洁的PDF报表。详细内容参考reportlab的官方user guide。
py3study
2020/01/06
3.2K0
python生成pdf报告、python实现html转换为pdf报告[python3] 原
系统安装wkhtmltopdf:参考 https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf
双面人
2019/10/06
1.5K0
Java 在PDF中添加表格
本文将介绍通过Java编程在PDF文档中添加表格的方法。添加表格时,可设置表格边框、单元格对齐方式、单元格背景色、单元格合并、插入图片、设置行高、列宽、字体、字号等。 通过maven导入 地址 代码如下:
崔笑颜
2020/06/08
4.6K0
【工具篇】在.Net中实现HTML生成图片或PDF的几种方式
前段时间由于项目上的需求,要在.Net平台下实现把HTML内容生成图片或PDF文件的功能,特意在网上研究了几种方案,这里记录一下以备日后再次使用。当时想着找一种开发部署都比较清爽并且运行稳定的方案,但实际上两者同时满足基本不可能,只能做一个自己觉得合适的取舍,下面从两个维度(清爽指数和功能指数)逐一对比。
HOHO
2020/04/27
3.1K0
Java 生成 PDF
欢迎关注公众号:程序员财富自由之路 某些业务场景下,需要提供相关的电子凭证,如银行回单,电子合同等。 需要生成对应的 PDF 提供给客户。 简单demo实现 添加依赖: <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.11</version> </dependency> 实现代码: import java.io
王小明_HIT
2019/08/13
2K0
Java生成PDF
如题,在日常的项目开发中,我们会遇到需要通过Java代码生成pdf,本文主要介绍的是通过velocity模板生产pdf。
木左
2022/09/23
1.4K0
Java生成PDF
Python生成图文并茂的PDF报告
reportlab是Python的一个标准库,可以画图、画表格、编辑文字,最后可以输出PDF格式。它的逻辑和编辑一个word文档或者PPT很像。有两种方法:
Python小二
2022/08/24
2K0
Python生成图文并茂的PDF报告
Python生成图文并茂的PDF报告
reportlab是Python的一个标准库,可以画图、画表格、编辑文字,最后可以输出PDF格式。它的逻辑和编辑一个word文档或者PPT很像。有两种方法:
Python研究者
2022/10/27
9520
Java 在 PDF 中添加表单域
PDF表单域是指用户在PDF文件中可以自主进行填写、选择等操作的区域,其主要目的是采集用户输入或选择的数据。常见的表单域包括文本框、单选按钮、复选框、列表框和组合框等。文本将介绍如何使用 Free Spire.PDF for Java在Java程序中创建PDF表单域。
用户1289394
2020/12/18
3.9K0
在二维码生成软件中如何生成PDF417二维码
Pdf417码,是二维码中比较特殊的码制,可以用来表示数字、字母、汉字或二进制数据。PDF417码最大的特点是信息容量大,纠错能力强,印刷要求不高,普通打印设备均能打印。那么在二维码生成软件中是如何制作PDF417二维码的呢?具体操作如下:
用户5746110
2019/09/26
1.9K0
从零开始在Python中实现决策树算法
原文地址:https://machinelearningmastery.com/implement-decision-tree-algorithm-scratch-python/
Steve Wang
2018/02/02
3.3K1
从零开始在Python中实现决策树算法
asciidoc生成中文PDF
使用asciidoctor或者org.asciidoctor.maven插件生成pdf文件时,会出现中文乱码。使用以下方法,不需要安装asciidoctor软件,也不需要修改字体设置。
云捷易
2020/02/26
3.4K1
VUE 网页生成 PDF[通俗易懂]
如图,在导出文件时,发现网络错误,可能是因为下载器不支持,首先换浏览器试一次,如果可以下载,则就是下载器不支持。
全栈程序员站长
2022/08/28
1.8K0
VUE 网页生成 PDF[通俗易懂]
【说站】Java在PDF中删除注释
2、用Document.getPages().get_Item(int).getAnnotations().delete()删除所有注释。
很酷的站长
2022/11/23
1.4K0
【说站】Java在PDF中删除注释
MalDoc in PDF,在PDF中隐藏恶意文档并执行宏代码
日本计算机应急响应团队(JPCERT)分享了在2023年7月检测到的一种新的“PDF中的MalDoc”攻击,该攻击通过将恶意Word文件嵌入PDF中来绕过检测。多数工具识别该文件为PDF,但办公软件程序可以将其作为常规Word文档打开,若文件具有配置的宏,并且Microsoft Office上没有禁用自动执行宏的安全设置,则将运行宏代码。
veryHappy
2023/09/20
9960
MalDoc in PDF,在PDF中隐藏恶意文档并执行宏代码
点击加载更多

相似问题

在python中编写lognormal函数

12

python中PDF的生成

21

PDFKit在python中生成pdf

12

pdf报告在python 2.7中生成

11

python wkhtmltopdf生成pdf

35
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文