[Numpy-discussion] New numpy functions: filled, filled_like

Matthew Brett matthew.brett at gmail.com
Sun Jan 13 18:28:05 EST 2013


On Sun, Jan 13, 2013 at 11:24 PM, Robert Kern <robert.kern at gmail.com> wrote:
> On Sun, Jan 13, 2013 at 6:27 PM, Nathaniel Smith <njs at pobox.com> wrote:
>> Hi all,
>>
>> PR 2875 adds two new functions, that generalize zeros(), ones(),
>> zeros_like(), ones_like(), by simply taking an arbitrary fill value:
>>   https://github.com/numpy/numpy/pull/2875
>> So
>>   np.ones((10, 10))
>> is the same as
>>   np.filled((10, 10), 1)
>>
>> The implementations are trivial, but the API seems useful because it
>> provides an idiomatic way of efficiently creating an array full of
>> inf, or nan, or None, whatever funny value you need. All the
>> alternatives are either inefficient (np.ones(...) * np.inf) or
>> cumbersome (a = np.empty(...); a.fill(...)). Or so it seems to me. But
>> there's a question of taste here; one could argue instead that these
>> just add more clutter to the numpy namespace. So, before we merge,
>> anyone want to chime in?
>
> One alternative that does not expand the API with two-liners is to let
> the ndarray.fill() method return self:
>
>   a = np.empty(...).fill(20.0)

Nice.

Matthew



More information about the NumPy-Discussion mailing list