[Numpy-discussion] Medians that ignore values

Pierre GM pgmdevlist at gmail.com
Thu Sep 18 12:48:51 EDT 2008


On Thursday 18 September 2008 10:59:12 Peter Saffrey wrote:
> I had looked at masked arrays, but couldn't quite get them to work.

That's unfortunate.

>  >>> from numeric import *

Mmh, typo?

>  >>> from pylab import rand
>  >>> a = rand(10,3)
>  >>> a[a > 0.8] = nan
>  >>> m = ma.masked_array(a, isnan(a))
>  >>> m

Another way would be m = ma.masked_where(a>0.8,a)

> Remember I want medians of each triple, so I need to median the
> transposed matrix:
>  >>> median(m.T)

Ohoh. What version of numpy are you using ? if you don't give an axis 
parameter, you should get the median of the flattened array, therefore a 
scalar, not an array.
Anyway: you should use ma.median for masked arrays. Else, you're just keeping 
the NaNs where they were.



More information about the NumPy-Discussion mailing list