Numpy矩阵与几个标准的比较

时间:2016-11-29 10:37:18

标签: python numpy matrix string-comparison

我正在努力比较numpy矩阵中的值。

最初我想检查矩阵m中的任何值是否小于X,所以我使用了:

(m<(X)).any()

哪个工作正常,但现在我希望它忽略矩阵中的所有0值,所以实质上告诉我矩阵m中的任何值是否在该范围内0&lt; m&lt; X

我已经找到了一种方法,通过进行一段时间看看,希望可能有类似的功能,可以做到这一点?

非常感谢

1 个答案:

答案 0 :(得分: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)

因为这可以为您提供一个更有用的数组来保留位置。