1次関数の計算はnp.polyfitでできると検索しててわかったんですが、
例えば以下のようにx、yの傾きに変化がないxy座標であれば正しい計算結果がでます

x_co=[-1,10]
y_co=[-3,20]
a,b=np.polyfit(x_co,y_co,1)
x = -1
y = a*x+b
print(y)
この計算結果は-3です

ただ以下のように傾きが変化する座標に変更すると正しい計算結果がでません
x_co=[-1,0,10]
y_co=[-3,0,20]
これだとxが-1から0までのaは3で、0から10までのaは2ですよね。
間に0を挟んでいますけどx,yのデフォルトの数値は0としたいのでそうしたんですが
aが変化する場合にnp.polyfit以外で正しい計算結果がだせる方法ってないですかね?
座標の指定を
x_co=[0,10]
y_co=[0,20]

x_co=[-1,0]
y_co=[-3,0]

2つ別々に計算してやればうまくいきますがスクリプトが長くなってしまいます
そもそも座標にx 0 y 0がありbが0になるような比例式になってるんで
一次関数で処理すること自体がおかしいのかもしれないですが