2016-05-04 9 views
2

私は風向きのレコードで長いnumpy配列を持っており、データのジャンプを検出するアルゴリズムを実行する前にnumpyのunwrapを使用しようとしています。データにNaNが含まれていて、numpyがこれを処理できないようです。 1つのNaNに遭遇すると、unwrapによって返されるすべての後続のデータポイントもNaNに変換されます。これを回避する方法はありますか?NaNを無視してナンキーアンラップ

私の質問は、hereと同じ質問になっていますが、そこには、エラーがデータのNaNに関連していると結論付けられています。あなたが残しておきたい場合は

a[~np.isnan(a)] = np.unwrap(a[~np.isnan(a)]) 

答えて

3

あなたはNaNを維持したいと仮定すると、最も簡単な解決策はunwrapに配列を渡す前に、NaNをマスクアウトし、戻って結果を書くために同じマスクを使用することです元の配列np.copy

b = np.copy(a) 
b[~np.isnan(b)] = np.unwrap(b[~np.isnan(b)]) 
関連する問題