Python で線形補間を実行する方法 (例付き)


線形補間は、 2 つの既知の値の間の関数の未知の値を推定するプロセスです。

2 つの既知の値 (x 1 , y 1 ) と (x 2 , y 2 ) が与えられると、次の式を使用して点 x の y 値を推定できます。

y = y 1 + (xx 1 )(y 2 -y 1 )/(x 2 -x 1 )

次の基本構文を使用して、Python で線形補間を実行できます。

 import scipy. interpolate

y_interp = scipy. interpolate . interp1d (x,y)

#find y-value associated with x-value of 13
print (y_interp( 13 ))

次の例は、この構文を実際に使用する方法を示しています。

例: Python での線形補間

Python に次の 2 つの値のリストがあるとします。

 x = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
y = [4, 7, 11, 16, 22, 29, 38, 49, 63, 80]

簡単な x 対 y プロットを作成できます。

 import matplotlib. pyplot as plt

#create plot of x vs. y
plt. plot (x, y, ' -ob ')

ここで、新しい x 値13に関連付けられた y 値を見つけたいとします。

これを行うには、次のコードを使用できます。

 import scipy. interpolate
y_interp = scipy. interpolate . interp1d (x,y)

#find y-value associated with x-value of 13
print (y_interp( 13 ))

33.5

推定された y 値は33.5であることがわかります。

点 (13, 33.5) をプロットに追加すると、関数とよく一致しているように見えます。

 import matplotlib. pyplot as plt

#create plot of x vs. y
plt. plot (x, y, ' -ob ')

#add estimated y-value to plot
plt. plot (13, 33.5, ' ro ')

この正確な式を使用して、新しい x 値に対して線形補間を実行できます。

追加リソース

次のチュートリアルでは、Python の他の一般的なエラーを修正する方法を説明します。

パンダの KeyError を修正する方法
修正方法: ValueError: float NaN を int に変換できません
修正方法: ValueError: オペランドをシェイプでブロードキャストできませんでした

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です