получение ошибки TypeError: объект ‘numpy.float64’ не вызывается ошибка

#python

#python

Вопрос:

Строка rl= [m (m * x) b для x в xs] вызывает код ошибки «Ошибка типа: объект ‘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. Можно m ли вызвать? Вы пытаетесь вызвать его с m(m*x) помощью .

Ответ №1:

Проблема заключается в том, как вы записываете умножение.

m(m*x) это не то же самое, что m*(m*x) , потому m() что интерпретируется как функция, когда, вероятно, является числом. Более того, если это так, вы также могли бы сделать:

m**2 * x