[Numpy-discussion] Missing data wrap-up and request for comments
ben.root at ou.edu
Thu May 10 01:05:19 EDT 2012
On Wednesday, May 9, 2012, Nathaniel Smith wrote:
> My only objection to this proposal is that committing to this approach
> seems premature. The existing masked array objects act quite
> differently from numpy.ma, so why do you believe that they're a good
> foundation for numpy.ma, and why will users want to switch to their
> semantics over numpy.ma's semantics? These aren't rhetorical
> questions, it seems like they must have concrete answers, but I don't
> know what they are.
Based on the design decisions made in the original NEP, a re-made
numpy.mawould have to lose _some_ features particularly, the ability
masks. Save for that and some very obscure behaviors that are undocumented,
it is possible to remake numpy.ma as a compatibility layer.
That being said, I think that there are some fundamental questions that has
concerned. If I recall, there were unresolved questions about behaviors
surrounding assignments to elements of a view.
I see the project as broken down like this:
1.) internal architecture (largely abi issues)
2.) external architecture (hooks throughout numpy to utilize the new
features where possible such as where= argument)
3.) getter/setter semantics
4.) mathematical semantics
At this moment, I think we have pieces of 2 and they are fairly
non-controversial. It is 1 that I see as being the immediate hold-up here.
3 & 4 are non-trivial, but because they are mostly about interfaces, I
think we can be willing to accept some very basic, fundamental, barebones
components here in order to lay the groundwork for a more complete API
To talk of Travis's proposal, doing nothing is no-go. Not moving forward
would dishearten the community. Making a ndmasked type is very intriguing.
I see it as a set towards eventually deprecating ndarray? Also, how would
it behave with no.asarray() and no.asanyarray()? My other concern is a
possible violation of DRY. How difficult would it be to maintain two
ndarrays in parallel?
As for the flag approach, this still doesn't solve the problem of legacy
code (or did I misunderstand?)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion