numpy: handling float('NaN') different in XP vs. Linux

Christian Heimes lists at cheimes.de
Sat Jun 14 15:32:20 CEST 2008


John [H2O] wrote:
> I have a script:
> 
> from numpy import float
> OutD=[]
> v=['3','43','23.4','NaN','43']
> OutD.append([float(i) for i in v[1]])
> 
> 
> On linux:
> Python 2.5.1 (r251:54863, Mar  7 2008, 04:10:12)
> [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2
> [john at andLinux analysis]$ python jnk.py
> [[3.0, 43.0, 23.399999999999999, nan, 43.0]]
> 
> On XP:
> Python 2.5 (r25:51908, Mar  9 2007, 17:40:28) [MSC v.1310 32 bit (Intel)]
> Microsoft Windows XP [Version 5.1.2600]
> (C) Copyright 1985-2001 Microsoft Corp.
> 
> C:\analysis>C:\Python25\python.exe jnk.py
> Traceback (most recent call last):
>   File "jnk.py", line 4, in <module>
>     OutD.append([float(i) for i in v])
> ValueError: invalid literal for float(): NaN

I've fixed the issue for Python 2.6 and 3.0 a while ago. Mark and I have
spent a lot of time on fixing several edge cases regarding inf, nan and
numerical unsound functions in Python's math und cmath module.

Christian




More information about the Python-list mailing list