python csvファイルのデータのフィッティング
pythonで2つのcsvファイルのデータをxとyにしてそれを一次式でフィッティングするやり方を教えてください。
現状としては2つのデータを読み込み散布図を表示するところまでやることができました。なのでフィッティングのやり方を教えてくださいよろしくお願いします。
サンプルデータ
x = sotu_data
y = sotuke_data
近似直線の式の a と b が入ったタプルを得る
p = np.polyfit(x, y, 1)
一次関数の式のオブジェクトを生成する
f = np.poly1d(p)
散布図と近似直線を描く
plt.scatter(x, y)
plt.plot(x, f(x))
このようなコードを書いて実行したのですがエラーが出てしまいました。
TypeError Traceback (most recent call last)
in
1 # 近似直線の式の a と b が入ったタプルを得る
----> 2 p = np.polyfit(sotu_data, sotuke_data, 1)
3
4 # 一次関数の式のオブジェクトを生成する
5 f = np.poly1d(p)
~/.pyenv/versions/3.6.5/lib/python3.6/site-packages/numpy/lib/polynomial.py in polyfit(x, y, deg, rcond, full, w, cov)
551 raise ValueError("expected deg >= 0")
552 if x.ndim != 1:
--> 553 raise TypeError("expected 1D vector for x")
554 if x.size == 0:
555 raise TypeError("expected non-empty vector for x")
TypeError: expected 1D vector for x
よろしくお願いします。