得到一个TypeError:'numpy.float64'对象不是可调用错误

时间:2019-04-11 14:33:36

标签: python

线 rl = [对于xs中的x,m(m * x)+ b] 导致“ TypeError:'numpy.float64'对象不可调用”错误 代码

xs=np.array([1, 2, 3, 4, 5, 6], dtype=np.float64)
ys=np.array([5,4,6,5,6,7], dtype=np.float64)

def best_fit_slope_and_b(xs, ys):
    top= ( s.mean(xs) * s.mean(ys) ) - s.mean(xs*ys)
    m=top/(  (s.mean(xs)*s.mean(xs))-s.mean(xs*xs)   )
    b=s.mean(ys)-m*s.mean(xs)
    return m,b

m,b = best_fit_slope_and_b(xs, ys)
print(m,b )

# below line causses error
rl=[ m(m*x)+b for x in xs]

1 个答案:

答案 0 :(得分:1)

问题出在写乘法的方式上。

m(m*x)m*(m*x)不同,因为m()在可能为数字时被解释为一个函数。此外,如果是这样,您还可以这样做:

m**2 * x