|
From: Paul F. D. <pa...@pf...> - 2006-01-07 02:15:16
|
I'll look into your complaints. Your proposed solution does not work: if x[2] is masked: and if x[2] is None: become indistinguishable. Likewise for assignment. Your example if x[2:4] is masked is a red herring. Obviously this statement is false no matter how you define 'masked'. I redid ma in a bit of a hurry and didn't pay any attention to the issues you raise as to len(masked), which I agree should be 1. Alexander Belopolsky wrote: > In the current numpy version ma.masked singleton has the following > properties: > > >>> len(ma.masked) > 0 > > which is a change from old MA, where > >>> len(MA.masked) > 1 > > Similarly: > > >>> ma.masked.shape > (0,) > >>> MA.masked.shape > () > > It changes shape when filled: > > >>> ma.masked.filled() > array([999999]) > > and so on. > > The code contains numerous "if x is masked" statements to support all > this logic. > > I would like to suggest a somewhat radical change for your review. > > There are two main uses of ma.masked: > > 1. To set mask: > > >>> x = ma.zeros(5) > >>> x[2:4] = ma.masked > >>> print x > [0 0 -- -- 0] > > > 2. To check if an element is masked: > > >>> x[2] is ma.masked > True > > > The second property allows a cute looking idiom "x[i] is masked", but > only works for single element access: > > >>> x[2:4] is ma.masked > False > > It also leads to strange results: > > >>> x[2].shape > (0,) > > > My proposal is to eliminate the property #2 from ma and redefine masked > as None. Single element getitem will return a rank zero MaskedArray. We > can also add "is_masked" property, which will allow a convenient check > in the form "x[i].is_masked". > > The main benefit of this proposal is that x[i] will be duck typing > compatible with numpy scalars. > > -- sasha > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > _______________________________________________ > Numpy-discussion mailing list > Num...@li... > https://lists.sourceforge.net/lists/listinfo/numpy-discussion > |