如何修复:类型错误:“numpy.float64”对象不可调用


使用Python时可能会遇到的错误是:

 TypeError : 'numpy.float64' object is not callable

此错误可能在两种不同的情况下发生:

  • 场景 1:不使用 * 号的乘法
  • 场景2:使用NumPy Min函数失败

以下示例展示了如何在每种情况下更正此错误。

场景 1:不使用 * 号的乘法

假设我们尝试在不使用乘号 (*) 的情况下将两个 NumPy 数组相乘,如下所示:

 import numpy as np

#define arrays
x = np. array ([1, 2, 3, 4, 5])
y = np. array ([12, 14, 14, 19, 22])

#attempt to multiply two arrays together
combo = (x)(y)

#view result
print (combo)

TypeError : 'numpy.float64' object is not callable 

我们收到一个TypeError ,因为我们在尝试将两个数组相乘时没有使用乘号 (*)。

避免此错误的方法是确保我们使用乘号:

 import numpy as np

#define arrays
x = np. array ([1, 2, 3, 4, 5])
y = np. array ([12, 14, 14, 19, 22])

#multiply two arrays together
combo = (x)*(y)

#view result
print (combo)

[12 28 42 76 110]

请注意,这次我们没有收到任何错误。

场景2:使用NumPy Min函数失败

假设我们使用以下代码尝试查找 NumPy 数组的最小值:

 import numpy as np

#define array of data
data = np. array ([3.3, 4.1, 4, 5.6, 8.1, 9.9, 9.7, 10.2])

#attempt to find minimum value of array
min_val = min (data)

#view minimum value
print (min_val)

TypeError : 'numpy.float64' object is not callable

我们收到一个TypeError因为我们使用了min()函数。

相反,我们需要使用np.min() ,如下所示:

 import numpy as np

#define array of data
data = np. array ([3.3, 4.1, 4, 5.6, 8.1, 9.9, 9.7, 10.2])

#attempt to find minimum value of array
min_val = np. min (data)

#view minimum value
print (min_val)

3.3

请注意,这次我们没有收到任何错误。

其他资源

以下教程解释了如何修复 Python 中的其他常见错误:

如何修复:列重叠但未指定后缀
如何修复:对象“numpy.ndarray”没有“append”属性
如何修复:如果使用所有标量值,则需要传递索引
如何修复:ValueError:无法将 float NaN 转换为 int

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注