On 12 Jun 2013 18:20, "Ralf Gommers" <ralf.gommers@gmail.com> wrote:
On Wed, Jun 12, 2013 at 6:36 PM, Chris Barker - NOAA Federal <
chris.barker@noaa.gov> wrote:
On Wed, Jun 12, 2013 at 5:10 AM, Nathaniel Smith <njs@pobox.com> wrote:
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.
I agree.
... deprecate np.ma.filled
Please don't. Rather just live with the inconsistency between numpy and numpy.ma APIs. If that bothers you, just tell yourself that we'll get an NA
Sounds like we're pretty much reaching consensus. Phew. dtype at some point and that that will make numpy.ma much less important:) Oh, I do tell myself that :-). With my committer/consensus-building hat on, np.ma has users, so I want something they can live with, and was suggesting some options. For myself I don't really care what np.ma does though since I don't use it...
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.
+1
I also don't really see why an np.empty() constructor exists, it seems to do the same thing that np.ndarray() does.
I had always assumed that np.ndarray() was a "low-level" interce that you really don't want to use in regular code (maybe for subclassing array...), as the docs say:
""" Arrays should be constructed using `array`, `zeros` or `empty` (refer to the See Also section below). The parameters given here refer to a low-level method (`ndarray(...)`) for instantiating an array. """
Am I wrong? is there any reason )other than history to have np.empty()
But in any case, I like np.filled(), as being analogous to ones(), zeros() and empty()...
I like np.filled as well. np.fill_with sounds fine too.
Grammatically, fill_with is an imperative, which suggests it needs an array to operate on; it's synonymous with just plain 'fill'. Having 'fill' and 'fill_with' as different functions with different semantics would be pretty confusing! -n