[Numpy-discussion] numpy.filled, again
njs at pobox.com
Wed Jun 12 14:00:26 EDT 2013
On 12 Jun 2013 18:20, "Ralf Gommers" <ralf.gommers at gmail.com> wrote:
> On Wed, Jun 12, 2013 at 6:36 PM, Chris Barker - NOAA Federal <
chris.barker at noaa.gov> wrote:
>> On Wed, Jun 12, 2013 at 5:10 AM, Nathaniel Smith <njs at 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.
Sounds like we're pretty much reaching consensus. Phew.
>> 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
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.
>> > 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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the NumPy-Discussion