単純な1次元のnumpy配列を想定します。
>>> x = np.array([1,3,5,0,3,2])
ここで、操作を実行したいとします1.0/x
。私はnumpyでこれを行うことができます:
>>> 1.0/x
array([ 1. , 0.33333333, 0.2 , inf, 0.33333333,
0.5 ])
ここでの問題はinf
、元の要素値0の無限大()の結果です。これ1.0/0
は、未定義の動作の代わりに無限大を返すように見えるためです。
無限大の代わりに、これらのゼロ除算シナリオが発生する独自のカスタム値を提供したいと思います。これはループを使用して実行できることはわかっていますが、この種の操作に慣用的な構文があるかどうかを知りたいと思います。
ここに関連する質問がありますが、それはif何か:(これを行う)else :(何もしない)シナリオのみを扱いますが、私の質問はif何か:(これを行う)else :(それを行う)シナリオです。