#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