如何修复:类型错误:“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