行列を点分割していますが、除数マトリックスにはいくつかのゼロがあります。この結果、警告が表示され、一部のNaNでは発生します。私はこれらが私はこのように行うことができます0、にマップする:ゼロで除算を置換する
edge_map = (xy/(x_norm*y_norm))
edge_map[np.isnan(edge_map)] = 0
しかし、この2つの問題があるが、すべての最初のそれはまだ、すべての警告(私は警告を好きではない)と第二を与えますこれは、マトリックス上の2番目のパスを必要とします(これがやむを得ないかどうかはわかりません)。コードのこの部分で効率が非常に重要です。アイデア?
はいので、これは私が第二のパス、警告についての手掛かりが必要です意味でしょうか? –
http://stackoverflow.com/a/26248892/382936警告を抑制するために 'numpy.errstate(divide = 'ignore')'コンテキストを使用することを推奨します。 http://docs.scipy.org/doc/numpy/reference/generated/numpy.errstate.html#numpy.errstate –
こちらもお勧めです。 'where'関数は、結果が計算されるときに警告をトリガします。マスクはおそらくあなたの最善の選択肢です。 – Chiel