On Tue, Jul 13, 2010 at 10:45 AM, Kurt Smith <kwmsm...@gmail.com> wrote:
> You could make use of np.atleast_1d, and then everything would be > canonicalized: > > In [33]: a = np.array(np.nan) > > In [34]: a > Out[34]: array(nan) > > In [35]: a1d = np.atleast_1d(a) > > In [36]: a1d > Out[36]: array([ NaN]) > > In [37]: a > Out[37]: array(nan) > > In [38]: a1d.base is a > Out[38]: True > > In [39]: a1d[np.isnan(a1d)] = 0. > > In [40]: a1d > Out[40]: array([ 0.]) > > In [41]: a > Out[41]: array(0.0) > > So Keith's nan_replace would be: > > In [42]: def nan_replace(a, fill=0.0): > ....: a_ = np.atleast_1d(a) > ....: a_[np.isnan(a_)] = fill > ....: Neat. The docstring for atleast_1d says "Copies are made only if necessary". I don't know when a copy is necessay, but watch out for it. _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion