次のようなデータセットがあります。
Table-1
X1 | Y1
------+--------
0.1 | 0.52147
0.02 | 0.8879
0.08 | 0.901
0.11 | 1.55
0.15 | 1.82
0.152 | 1.95
Table-2
X2 | Y2
-----+------
0.2 | 0.11
0.21 | 0.112
0.34 | 0.120
0.33 | 1.121
Table-2のY2
値をTable-1のX1
値に補間する必要があります。つまり、X
の次の値のY2
の値を見つける必要があります。
X1 | Y2
-------+-------
0.1 |
0.02 |
0.08 |
0.11 |
0.15 |
0.152 |
注:表1と2の間隔は等しくありません。 (X、Y)エントリの数は異なります。たとえば、ここでは、表1には6つの(X1、Y1)エントリがあり、表-2には4つ(X2、Y2)しかありません。
Numpyではどの補間アルゴリズムを使用する必要がありますか?どのように進めますか?
numpy.interp
はあなたが望む関数のようです:X1
を最初の引数xとして渡し、あなたのX2
を2番目の引数xpとして渡してください、あなたのY2
を3番目の引数fpとして指定すると、X1
座標に対応するY値が取得されます。
Y2_at_X1 = np.interp(X1, X2, Y2)
既存のY1
の値を完全に無視することを想定しています。これは、上記のスニペットが行うことです。それ以外の場合は、Y1
にどのような役割があるかを説明するために質問を明確にする必要があります。
線形補間以上の機能が必要な場合は、単純さを超えてnumpyを伸ばすのではなく、 scipy.interpolate
およびその tutorial を参照することをお勧めします;-)。