2016-11-29 3 views
0

私はnumpy行列の値を比較しています。 いくつかの基準に対するナンシー行列の比較

は当初、私は行列mの値のいずれかがXよりも小さかったかどうかを確認したかったので、私は使用:うまく働い

(m<(X)).any() 

が、今私はそれがですべて0の値を無視したいと思います行列mの値がその範囲にあるかどうかを私に教えてください。0 < m < X.

私は、そのトリックを行うことができる上記と同様の機能ですか?

+1

'(m> 0)&(m EdChum

+0

dupe:http://stackoverflow.com/questions/13869173/numpy-find-elements-within-range – EdChum

+0

これは、それはすべて1dだったからです。 –

答えて

0

多くhereよう

多くのおかげで、あなたは

np.where(np.logical_and(0<a,a<6)) 

を行うことができますし、それはあなたのあなたのマトリックス内の場所を教えて二つの配列を、提供します。上記とは異なり

(array([0, 0, 1, 1, 1], dtype=int32), 
array([1, 2, 0, 1, 2], dtype=int32)) 

は、n次元アレイを有し、そしてそれはあなたのより多くの有用な配列を与えることができるので、その出力はmasked array

b=np.ma.masked_where(np.logical_or(a<=0,a>=6),a) 

b 
Out[40]: 
masked_array(data = 
[[-- 1 2] 
[3 4 5] 
[-- -- --]], 
      mask = 
[[ True False False] 
[False False False] 
[ True True True]], 
     fill_value = 999999) 

を用いほど有用ではないかもしれません場所を保存します。

関連する問題