Python:无法将浮点 NaN 转换为整数

2024-03-18

我应用返回浮动的移动平均逻辑。我先将该 float 转换为 int,然后再使用它在 OpenCV 中绘制线条,但出现以下错误

ValueError: cannot convert float NaN to integer

示例代码

def movingAverage(avg, new_sample, N=20):
    if (avg == 0):
    return new_sample
    avg -= avg / N;
    avg += new_sample / N;
    return avg;

x1 = int(avgx1) #avgx1 is returned from the movingaverage function
y1 = int(avgy1) 
x2 = int(avgx2)
y2 = int(avgy2)
cv2.line(img, (x1, y1), (x2, y2), [255,255,255], 12)

关于如何解决它有什么建议吗?


根据您发布的内容,您的movingAverage()函数正在返回NaN在某一点。

NaN是一个特殊的浮点哨兵值,意思是“不是数字”。一般来说,Python 更喜欢引发异常而不是返回NaN,所以像sqrt(-1) and log(0.0)通常会提高而不是返回NaN。但是,您可以从其他库取回该值。一个很好的例子可能是尝试从电子表格中的字符串单元格中提取数值。

标准Python提供math.isnan(x)你可以用它来测试NaN。你可以assert反对它,在发现时引发异常,或者您可以提供重置价值为了NaN.

您似乎正在绘制图表或图表。我的建议是专门尝试找出这个问题(为什么你会遇到这个特殊的问题)NaN),然后编写一些代码来提供替换。

例如,您可能确定电子表格中的列标题负责这个特定的的实例NaN,并修复代码以跳过列标题。但是,为了防止以后再次发生,您可以检查isnan() in the movingAverage()函数,并将任何值替换为 0 或最大值,有效地处理NaN0 或无穷大,无论哪个对您的图表更有意义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:无法将浮点 NaN 转换为整数 的相关文章

  • 如何使 Django ManyToMany “直通”查询更加高效?

    我使用的是 ManyToManyField 和 through 类 这会在获取事物列表时产生大量查询 我想知道是否有更有效的方法 例如 这里有一些描述书籍及其几位作者的简化类 它们通过角色类 定义 编辑器 插画家 等角色 class Per
  • 如何跳过财务图中的空日期(周末)

    ax plot date dates dates highs lows 我目前正在使用此命令来绘制财务高点和低点Matplotlib http en wikipedia org wiki Matplotlib 效果很好 但如何删除 x 轴上
  • sphinx 中的分组方法文档字符串

    是否可以使用 sphinx 的 autodoc 功能将多个方法文档字符串分组 以便将它们列在一起 class Test object def a self A method of group foo def b self A method
  • 如何在 kubernetes 上使多个 pod 相互通信

    我是 Kubernetes 新手 我正在尝试通过 microk8s 将应用程序部署到 Kubernetes 该应用程序包含Python Flask后端 Angular前端 Redis和MySQL数据库 我将映像部署在多个 Pod 中 状态显
  • 查找 python 数据框中每行的最高值

    我想找到每行中的最高值并返回 python 中该值的列标题 例如 我想找到每行的前两个 df A B C D 5 9 8 2 4 1 2 3 我希望我的输出看起来像这样 df B C A D 您可以使用字典理解来生成largest n数据帧
  • 如何在不破坏默认行为的情况下覆盖 __getattr__ ?

    我如何覆盖 getattr https docs python org 3 reference datamodel html object getattr 类的方法而不破坏默认行为 压倒一切 getattr 应该没事 getattr 仅作为
  • Opencv 2.4.2 代码讲解-人脸识别

    我参考OpenCV提供的文档制作了一个人脸识别程序 可以识别多个人脸 并且工作正常 在文档中 他们制作了省略号来突出显示脸部 我不明白的是他们如何计算椭圆的中心 他们的计算如下 for int i 0 i lt faces size i P
  • 为什么我不能“string”.print()?

    我的理解print 在 Python 和 Ruby 以及其他语言 中 它是字符串 或其他类型 上的方法 因为它的语法非常常用 打印 嗨 works 那么为什么不呢 hi print 在 Python 中或 hi print在红宝石工作 当你
  • 覆盖现有的 django-admin 命令

    除了编写自定义 django admin 命令之外 这是有详细记录的 https docs djangoproject com en 1 9 howto custom management commands 我希望能够覆盖现有命令 例如ma
  • 来自数据框 groupby 的条形图

    import pandas as pd import numpy as np import matplotlib pyplot as plt df pd read csv arrests csv df df replace np nan 0
  • Numpy 通过一个数组的值总结另一个数组

    我正在尝试找到一种矢量化方法来完成以下任务 假设我有一个 x 和 y 值的数组 请注意 x 值并不总是整数并且可以为负数 import numpy as np x np array 1 1 1 3 2 2 2 5 4 4 dtype flo
  • 如何在 Python 中将 EXR 文件的 float16 转换为 uint8

    我正在使用 OpenEXR 读取 Python 中的 EXR 文件 我有带有半数据 float16 的 R G 和 B 通道 我尝试使用 Numpy 将数据从 float16 转换为 uint8 0 255 颜色 但没有成功 rCh get
  • 让 TensorFlow 在 ARM Mac 上使用 GPU

    我已经安装了TensorFlow在 M1 上 ARM Mac 根据这些说明 https github com apple tensorflow macos issues 153 一切正常 然而 模型训练正在进行CPU 如何将培训切换到GPU
  • 如何从外语线程调用Python函数(C++)

    我正在开发一个程序 使用 DirectShow 来抓取音频数据 媒体文件 DirectShow 使用线程将音频数据传递给回调 我的程序中的函数 然后我让该回调函数调用另一个函数 Python 中的函数 我使用 Boost Python 来包
  • 单击 selenium 中的链接时循环遍历表格的行(python)

    示例页面源代码如下所示 div class div1 table class foot market tbody td class today name td tbody tbody td class today name td tbody
  • 在Python中将罗马数字转换为整数

    根据 user2486 所说 这是我当前的代码 def romanMap map M 1000 CM 900 D 500 CD 400 C 100 XC 90 L 50 XL 40 X 10 IX 9 V 5 V 4 I 1 return
  • 用户的完整 UNIX 用户名

    想知道您是否知道是否有一种巧妙的方法可以从 shell 获取完整的用户名 示例 如果我的 UNIX 用户名是 froyo 那么我想获取我的全名 在本例中 如系统中注册的那样 froyo Abhishek Pratap Finger 命令可以
  • Python 可以替代 Java 小程序吗?

    除了制作用于物理模拟 如抛射运动 重力等 的教育性 Java 小程序之外 还有其他选择吗 如果你想让它在浏览器中运行 你可以使用PyJamas http pyjs org 这是一个 Python 到 Javascript 的编译器和工具集
  • Python模糊字符串匹配作为相关样式表/矩阵

    我有一个文件 其中包含 x 个字符串名称及其关联的 ID 本质上是两列数据 我想要的是一个格式为 x by x 的相关样式表 将相关数据作为 x 轴和 y 轴 但我想要 fuzzywuzzy 库的函数 fuzz ratio x y 作为输出
  • 使用 Python 进行 Google 搜索网页抓取 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 最近为了工作中的一些项目 学习了很多python 目前我需要使用谷歌搜索结果进行一些网络抓取 我发现几

随机推荐