[Numpy-discussion] Why is the shape of a singleton array the empty tuple?
David Goldsmith
d.l.goldsmith at gmail.com
Mon Mar 8 02:22:14 EST 2010
On Sun, Mar 7, 2010 at 4:30 AM, Friedrich Romstedt <
friedrichromstedt at gmail.com> wrote:
> First, to David's routine:
>
> 2010/3/7 David Goldsmith <d.l.goldsmith at gmail.com>:
> > def convert_close(arg):
> > arg = N.array(arg)
> > if not arg.shape:
> > arg = N.array((arg,))
> > if arg.size:
> > t = N.array([0 if N.allclose(temp, 0) else temp for temp in arg])
> > if len(t.shape) - 1:
> > return N.squeeze(t)
> > else:
> > return t
> > else:
> > return N.array()
>
> Ok, chaps, let's code:
>
> import numpy
>
> def convert_close(ndarray, atol = 1e-5, rtol = 1e-8):
> ndarray_abs = abs(ndarray)
> mask = (ndarray_abs > atol + rtol * ndarray_abs)
> return ndarray * mask
>
> > python -i close.py
> >>> a = numpy.asarray([1e-6])
> >>> convert_close(a)
> array([ 0.])
> >>> a = numpy.asarray([1e-6, 1])
> >>> convert_close(a)
> array([ 0., 1.])
> >>> a = numpy.asarray(1e-6)
> >>> convert_close(a)
> 0.0
> >>> a = numpy.asarray([-1e-6, 1])
> >>> convert_close(a)
> array([ 0., 1.])
>
Great, thanks!
DG
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20100307/f05a265e/attachment.html>
More information about the NumPy-Discussion
mailing list