【问题标题】:What means the Error: "float() argument must be a string or a number, not 'builtin_function_or_method'"什么是错误:“float()参数必须是字符串或数字,而不是'builtin_function_or_method'”
【发布时间】:2019-11-16 22:41:11
【问题描述】:

我有一个变量,形式为:

X = array([<built-in function array>, 66.0, 98.0, ..., 244.0, 254.0, 255.0],      dtype=object)

如果我想将它们放入 SVC 分类器中,错误:

float() argument must be a string or a number, not 'builtin_function_or_method'

这个错误是什么意思? 它出现在这行代码中:

svm.fit(X,y)

对此我能做些什么呢? 谢谢

【问题讨论】:

  • 表示你的数组元素不能被float转换。您是如何创建阵列的?
  • 您不好奇数组中奇怪的第一项吗?
  • 我使用 keras 的 load_img 模块创建它。在这个数组中存储了许多图片
  • 是的,我有点想知道,但我并没有这么多地使用 numpy。这是什么意思?
  • 你有一个对象 dtype 数组 - 它有很多数字,还有这个 &lt;...&gt; 对象,它显然是一个函数。分类器(来自哪个模块?)显然需要一个浮点数组,因此尝试将您的数组转换为该数组(使用arr.astype(float)np.array(arr, dtype=float))。因此,您需要更清楚地了解可以为分类器提供什么,以及 keras 负载会产生什么。

标签: python numpy keras


【解决方案1】:

什么是错误:“float() 参数必须是字符串或数字,而不是'builtin_function_or_method'”

该错误表示您正在尝试将数组转换为浮点数。您有不是数字且看起来不像数字的数据,并且正在尝试将其转换为数字。

这与您执行此操作时的错误相同:

something=[]
float(something)

Python 不知道如何将列表转换为数字。

【讨论】:

  • @Meinnamegehtdichgarn:很难说你能做什么。看起来您正在获取假设您的数据只是数字的数据,但它是部分编号和部分编号列表。解决方案可能是修复获取数据的代码,或者修复转换数据的代码。
猜你喜欢
  • 1970-01-01
  • 2020-04-24
  • 2023-04-09
  • 2020-10-04
  • 1970-01-01
  • 1970-01-01
  • 2022-06-14
  • 2023-02-18
  • 2019-05-22
相关资源
最近更新 更多