Python TypeError:不支持的操作数类型 -:“float”和“NoneType”

2024-01-01

有谁知道为什么我会收到这样的错误?

TypeError: unsupported operand type(s) for -: 'float' and 'NoneType'

如果你这样做,我将非常感激,我对此很陌生,正在努力学习,但我真的陷入了 Python 的本质!

Code:

for test in test_set:
 person_id = test['person_id']
 place_id = test['place_id']
 rating = test['rating']
 predicted_rating = simple_nn(person_id, place_id, 5)
 #difference =  (rating - predicted_rating)
 sq_err = (rating - predicted_rating) * (rating - predicted_rating)

 sq_err_sum = sq_err 
   
 sq_err_sum = sq_err_sum + sq_err
    
 rmse = math.sqrt(sq_err_sum/5)
 print rmse

根据您提供的内容和错误来判断,这是我的结论。

您唯一使用的地方-操作数在两点中

sq_err = (rating- predicted_rating) * (rating - predicted_rating)

因为错误指出'float' and 'NoneType'我们可以得出结论rating是类型float and predicted_rating is NoneType.

你定义的predicted_rating as:

predicted_rating = simple_nn(person_id, place_id, 5)

所以这意味着你的函数代码中的某个地方simple_nn你没有返回任何东西。也许如果您使用条件,则不会评估每个结束路径,并且函数只是返回。

例如...所有这些函数都返回 None 类型。

def example1():
    pass

def example2():
    return

def example3(a = True, b  = True):
    if not a:
        return True
    elif not b:
        return False

请注意,在最后一个示例中,有一条路径不满足 if 情况,..因此它可能返回 None

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

Python TypeError:不支持的操作数类型 -:“float”和“NoneType” 的相关文章

随机推荐

  • C++/SDL2——渲染一个圆[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我用 SDL2 画一个实心圆 方向正确吗 我认为使用参数方程和趋于零的半径是可行的 但在处理器使用方面似乎效率很低 任何其他想法都非常感谢 提前
  • 如何从 Ruby on Rails 应用程序中的 OAuth::Unauthorized 异常中拯救出来?

    如何挽救 Ruby on Rails 应用程序中 OmniAuth 引发的 OAuth Unauthorized 异常 显然是这样的 rescue from OAuth Unauthorized with gt unauthorized 不
  • java nio 直接缓冲区上的压缩

    gzip 输入 输出流不在 Java 直接缓冲区上运行 是否有直接在直接缓冲区上运行的压缩算法实现 这样就不会产生将直接缓冲区复制到 java 字节数组进行压缩的开销 我无意转移你的问题 但这就是really你的程序中有一个好的优化点吗 您
  • 在 C# 中获取属性值(反射)的最快方法

    我想知道从对象的属性获取值 仅针对此问题 的最快方法是什么 经过一番搜索后 我在这个网站上看到了 MarkGravell 的帖子 他写了这段代码 using System using System Reflection using Syst
  • new Integer(123)、Integer.valueOf(123) 和 just 123 之间的区别

    最近我看到这样的代码 Java myMethod new Integer 123 我目前正在重构一些代码 声纳工具中有一个提示 使用这样的东西对内存更友好 myMethod Integer valueOf 123 但是在这种情况下 我认为使
  • 来自主线程的 VTK 窗口线程,C++

    我刚刚学习 VTK 和 C GUI 编程 希望有一个简单的问题 主应用程序在应用程序中的某个时刻启动渲染的窗口 希望在显示 VTK 窗口时主线程能够继续 是否有特定的方法可以将 VTK 窗口作为线程启动 我的环境是 Linux 可以使用 b
  • IFNDR 是否优先于可诊断的违规行为?

    简介 合规性 一般 2 https timsong cpp github io cppwp n4868 intro compliance general 2指定编译器应如何处理给定的程序 特别是它有两点涉及格式错误的程序 2 2 要求编译器
  • Numpy 重新索引前 N 个自然数

    我有一个索引非常稀疏的矩阵 行和列中的最大值都超过 130000 但其中只有少数行 列实际上具有非零值 因此 我希望通过前 N 个自然数将行索引和列索引移动为仅表示非零索引 从视觉上看 我想要一个像这样的示例矩阵 1 0 1 0 0 0 0
  • 在circos中使用circos函数

    有人能帮我吗 如何在数据中添加 circos 函数 当我尝试时 我收到一条错误消息 但它不会产生任何结果 我想做一个像 1 号表示一样的甜甜圈图形 但我还有另一个结果 我们可以在另一张图片中看到 试图跟随本指南 https jokergoo
  • JNI4Net C# 到 Java

    我有一个简单的 Java 类 名为jniBridge Calculator有一种简单的方法Add int a int b 使用 eclipse 构建项目后 我将项目导出为 JAR 文件 然后我在 JAR 文件上调用 proxygen 这会生
  • Ruby 的 File.open 给出“没有这样的文件或目录 - text.txt (Errno::ENOENT)”错误

    我在我的 Win 7 机器上安装了 Ruby 1 9 2 创建了一个简单的analyzer rb文件 它有这一行 File open text txt each line puts line 当我运行代码时 它给我这个错误 analyzer
  • 如何将 .net 程序集标记为安全?

    如何将程序集标记为 安全 或者 当程序集中的某些内容不 安全 时 我如何让 Visual Studio 告诉我 有时 除非程序集 安全 否则您不能使用它 例如从 SQL Server https stackoverflow com ques
  • C++ 获取类的所有对象

    C 中有没有一种方法可以获取一个类的所有对象 就像在 Python 中一样 我们可以这样做 class name objects all 获取一个类的所有对象 如果存在的话 它在 C 中的类似物是什么 您可以自己执行此操作 但请确保您知道自
  • RxJava - Just 与 From

    使用时我得到相同的输出Observable just vs Observable from在以下情况下 public void myfunc swap out just for from here and i get the same re
  • 更改函数内部的指针不会反映在函数外部[重复]

    这个问题在这里已经有答案了 void alloco int ppa int i printf inside alloco d n ppa ppa int malloc 20 ppa 15 9 printf size of a d n siz
  • NetworkSecurityConfig:未指定网络安全配置 - Android 7.0 错误?

    我在 android 7 0 0 上遇到一些问题 我在我的应用程序中使用 volley 库 除了 Android 7 0 之外 它运行良好 这是我的代码的一部分 String url goster http 185 126 217 71 c
  • 具有相同方法名称的两个接口 - 方法的实现[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 假设我有两个接口 interface IOne public void method and interface ITwo public voi
  • C++ 全局常量问题

    我们在一系列文件中定义了这些 实用 常量集 问题源于这样一个事实 太多文件包含这些全局常量文件 如果我们向其中一个文件添加常量并尝试构建 它会构建整个库 这需要一个多小时的时间 有人能为这种方法提出更好的方法吗 我们将不胜感激 首先 如果您
  • 查找数组中是否包含 2 旁边的 2

    我被这个问题困住了 给定一个整数数组 如果该数组某处的 2 旁边包含 2 则返回 True has22 1 2 2 True has22 1 2 1 2 False has22 2 1 2 False 我知道基本思想 存在语法错误 但我无法
  • Python TypeError:不支持的操作数类型 -:“float”和“NoneType”

    有谁知道为什么我会收到这样的错误 TypeError unsupported operand type s for float and NoneType 如果你这样做 我将非常感激 我对此很陌生 正在努力学习 但我真的陷入了 Python