[Numpy-discussion] masked_equal not commutative?

Charles Doutriaux doutriaux1 at llnl.gov
Tue Aug 12 14:14:09 EDT 2008


Hi I'm using 1.1.1
and found that numpy.ma.masked_equal is not commutative!
I would expect it to be in this case. Or raise an error for uncompatible 
shape in the first case, no ?

 >>> a = numpy.ma.arange(100)
 >>> a.shape=(10,10)
 >>> b=numpy.ma.masked_equal(1,a)
 >>> b
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/lgm/cdat/latest/lib/python2.5/site-packages/numpy/ma/core.py", 
line 1691, in __repr__
    'data': str(self),
  File "/lgm/cdat/latest/lib/python2.5/site-packages/numpy/ma/core.py", 
line 1665, in __str__
    res[m] = f
IndexError: 0-d arrays can't be indexed.
 >>> b=numpy.ma.masked_equal(a,1)
 >>> b
masked_array(data =
 [[0 -- 2 3 4 5 6 7 8 9]
 [10 11 12 13 14 15 16 17 18 19]
 [20 21 22 23 24 25 26 27 28 29]
 [30 31 32 33 34 35 36 37 38 39]
 [40 41 42 43 44 45 46 47 48 49]
 [50 51 52 53 54 55 56 57 58 59]
 [60 61 62 63 64 65 66 67 68 69]
 [70 71 72 73 74 75 76 77 78 79]
 [80 81 82 83 84 85 86 87 88 89]
 [90 91 92 93 94 95 96 97 98 99]],
      mask =
 [[False  True False False False False False False False False]
 [False False False False False False False False False False]
 [False False False False False False False False False False]
 [False False False False False False False False False False]
 [False False False False False False False False False False]
 [False False False False False False False False False False]
 [False False False False False False False False False False]
 [False False False False False False False False False False]
 [False False False False False False False False False False]
 [False False False False False False False False False False]],
      fill_value=999999)




More information about the NumPy-Discussion mailing list