On Wed, Jun 12, 2013 at 8:10 AM, Nathaniel Smith <[email protected]> wrote: > Hi all, > > It looks like we've gotten a bit confused and need to untangle > something. There's a PR to add new functions 'np.filled' and > 'np.filled_like': > https://github.com/numpy/numpy/pull/2875 > And there was a discussion about this on the list back in January: > http://thread.gmane.org/gmane.comp.python.numeric.general/52763 > > I think a reasonable summary of the opinions in the thread are: > - This functionality is great, ... > - ...but we can't call it 'np.filled' because there's also > 'np.ma.filled' which does something else... > - ...but there really aren't any better names... > - ...so we should overload np.empty, like: 'np.empty(shape, fill=value)' > > In the mean time the original submitter has continued puttering along > polishing the original patch, and it's ready to merge... except it's > still the original interface, somehow the thread discussion and the PR > discussion never met up. > > So, we have to decide what to do. > > Personally I think that overloading np.empty is horribly ugly, will > continue confusing newbies and everyone else indefinitely, and I'm > 100% convinced that we'll regret implementing such a warty interface > for something that should be so idiomatic. (Unfortunately I got busy > and didn't actually say this in the previous thread though.) So I > think we should just merge the PR as is. The only downside is the > np.ma inconsistency, but, np.ma is already inconsistent (cf. > masked_array.fill versus masked_array.filled!), somewhat deprecated, > and AFAICT there are far more people who will benefit from a clean > np.filled idiom than who actually use np.ma (and in particular its > fill-value functionality). So there would be two > bad-but-IMHO-acceptable options: either live with an inconsistency > between np.filled and np.ma.filled, or deprecate np.ma.filled in favor > of masked_array.filled (which does exactly the same thing) and > eventually switch np.ma.filled to be consistent with the new > np.filled. > > But, that's just my opinion. > > -n > _______________________________________________ > NumPy-Discussion mailing list > [email protected] > http://mail.scipy.org/mailman/listinfo/numpy-discussion
Why we need this animal whatever it is called Scientific Python @SciPyTip Create a 2x3 array filled with integer 7's: 7*np.ones((2,3), int) and I just did this yesterday, np.nan * np.ones(3) maybe I should have used np.zeros(3) / 0. Josef _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
