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

Nathaniel Smith njs@pobox....
Sun Jan 13 11:27:54 CST 2013


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


More information about the NumPy-Discussion mailing list