[Numpy-discussion] Ticket #794 and can o' worms.
Sun Jul 20 17:47:18 CDT 2008
On Sun, Jul 20, 2008 at 17:42, Charles R Harris
> Hi All,
> I "fixed" ticket #754, but it leads to a ton of problems. The original
> discussion is here. The problems that arise come from conversion to
> different types.
> In : a
> Out: array([ Inf, -Inf, NaN, 0., 3., -3.])
> In : sign(a).astype(int)
> array([ 1, -1, -2147483648, 0, 1,
> In : sign(a).astype(bool)
> Out: array([ True, True, True, False, True, True], dtype=bool)
> In : sign(a)
> Out: array([ 1., -1., NaN, 0., 1., -1.])
> In : bool(NaN)
> Out: True
> So there are problems with at minimum the following.
> 1) The way NaN is converted to bool. I think it should be False.
It's not really our choice. That's Python's bool(). For the things
that are our choice (e.g. array([nan]).astype(bool)) I think we should
stay consistent with Python.
> 2) The way NaN is converted to int types. I think it should be 0.
I agree. That's what int(nan) gives:
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
More information about the Numpy-discussion