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?
(Bonus, extra bike-sheddy survey: do people prefer
np.filled((10, 10), np.nan)
np.filled_like(my_arr, np.nan)
or
np.filled(np.nan, (10, 10))
np.filled_like(np.nan, my_arr)
?)
-n