【python】配列に混ざったnanを0に置き換える
0をnanに置き換えるのは
import numpy as np
a=np.array([np.nan,0,1])
b=np.where(a==0,np.nan,a)
みたいにするとできるのですが、
なぜか逆ができなかったのでついさっき見つけた解決法をメモしておきます。
nanを0に置き換える
a=np.array([nan,0,1])
b=np.where(a>-99999,a,0)
こうするとb=[0,0,1]になります。
-99999はデータに応じてこれ以下にはならんだろうと思う値を突っ込みます。
np.nanmin(a)でもして当たりをつけてください。
ちなみに
b=np.where(a==np.nan,0,a)
はエラーを吐くのでできません。
import numpy as np
a=np.array([np.nan,0,1])
b=np.where(a==0,np.nan,a)
みたいにするとできるのですが、
なぜか逆ができなかったのでついさっき見つけた解決法をメモしておきます。
nanを0に置き換える
a=np.array([nan,0,1])
b=np.where(a>-99999,a,0)
こうするとb=[0,0,1]になります。
-99999はデータに応じてこれ以下にはならんだろうと思う値を突っ込みます。
np.nanmin(a)でもして当たりをつけてください。
ちなみに
b=np.where(a==np.nan,0,a)
はエラーを吐くのでできません。
コメント
コメントを投稿