あるリスト同士の比を出したくてDivideを用いて各i番目同士の要素を除算したいのですが,下のコードを参考にしてやると nan となってしまい数値を入手できません.何かいい方法はありますか.
python
1>>> a = np.array([-1, 0, 1, 2, 3], dtype=float) 2>>> b = np.array([ 0, 0, 0, 2, 2], dtype=float) 3 4>>> c = np.divide(a, b, out=np.zeros_like(a), where=b!=0) 5>>> print(c) 6
c = np.divide(... をそのまま使えば良いかと思いますが。。。
リストの値によっては所々でnanと表示されてしまうんです.そこを改善したくて,,,
なるほど、では a や b に np.nan が含まれている場合もあるのですね?
いえ,aやbにはnanは含まれていません.ただしものすごい小さな値で例えば8.30042254017375e-19くらいです.nan になるのは0.0÷0.0あたりの要素なんですけどどのようにしたら良いのでしょうか
こちらの環境は Python 3.9/Numpy 1.21.4 なのですが、色々と値を変えて試してみても np.nan にならないのです。一応、numpy.nan_to_num: https://numpy.org/doc/stable/reference/generated/numpy.nan_to_num.html という関数がありますので、divide を行った後に c = np.nan_to_num(c) としても良いかと思います。
ありがとうございます!とりあえず0÷0の不定型で,そこの部分はグラフ化したときに切り取ることにしました.参考になりました!
回答1件
あなたの回答
tips
プレビュー