上で差分を広め、私は(必ずしもソートされていない)numpyの配列を持っている:numpyの/パンダの差分:均等に囲まれたナン要素
[2.0, 3.0, nan, nan, nan, 5.0]
私はこのアレイ上の差異を計算します。最後の要素5と2番目の要素3との間の差は2です。この2の差を私のnumpy配列の囲まれた要素に渡したいと思います。私がnumpy.diffを試してみたら(私もマスクされた配列を使ってみました)、結果は
[nan, 1, nan, nan, nan, nan]
です。結果は以下のようになります。
:
[nan, 1, 0.5, 0.5, 0.5, 0.5]
UPDATE:
は、私は上記の特定のケースのための答えを得たが、与えられた答えは、より一般的な形で有効ではありません。例えば、私たちが後ろに/先導するnanを持っている場合と、代わりにnanと値を持っている場合です。例:入力の違い[i]と入力し、[I-1]〜あなたが何をしようとしていることは出力をマップであるという仮定の下では
[nan, nan, 2.0, 3.0, nan, nan, nan, 5.0, nan, 6.0, nan]
、NaNを除くには、ソートされた入力配列のですか?また、出力配列もソートされているように見えます。 アイデアは出力[i]は入力[i]と入力[i-1]のdiffの平均ですが、特別な場合はnansですか? – JawguyChooser
最初の質問:いいえ、配列は必ずしも[5、11、4、nan、2]のように並べ替えるわけではありません。 2番目の質問:はい、入力[i-1]が非入力であれば入力[i-2]をチェックし、入力[1-2]がナンでなければ入力[i]と入力[i-2 ]を入力[i-1]と入力[i]に等しく上乗せする。 –
アップデートケースの予想される出力はどのくらいですか? – JawguyChooser