私は、2つのnumpy
配列の間で単純な線形補間を行う方法を探しています。 3つのタイムステップがあり、私のスタートとエンドポイントの間numpy:さまざまなタイムステップの2つの配列をどのように補間するのですか?
fst = np.random.random_integers(5, size=(10.))
>>> array([4, 4, 1, 3, 1, 4, 3, 2, 5, 2])
snd = np.random.random_integers(5, size=(10.))
>>> array([1, 1, 3, 4, 1, 5, 5, 5, 4, 3])
:
二つの配列
は同じ長さを有しています。fst
と
snd
をどうやって補間すればよいですか?私は
np.interp(1, [1,5], [4,1])
np.interp(2, [1,5], [4,1])
...
# that is
np.interp([1,2,3,4,5], [1,5], [4,1])
>>> array([ 4. , 3.25, 2.5 , 1.75, 1. ])
しかし、最初のエントリのためではなく、配列全体にわたりだけではない以下のような各タイムステップの値を取得するには、例としてfst
とsnd
の最初のエントリを取って、できるようにしたいです。明らかに
、これはそれを行うことはありません。
np.interp(1, [1,5], [fst,snd])
まあ、私は、例えばループにそこに着く知っています
[np.interp(2, [1,5], [item,snd[idx]]) for idx,item in enumerate(fst)]
>>> [3.25, 3.25, 1.5, 3.25, 1.0, 4.25, 3.5, 2.75, 4.75, 2.25]
しかし、私はあなたが何か根本的に間違っているnumpy配列を覆っていると信じています。