On 01/25/2011 10:56 AM, Skipper Seabold wrote:
> On Tue, Jan 25, 2011 at 11:17 AM, Pierre GM<pgmdevl...@gmail.com>  wrote:
>> On Jan 24, 2011, at 11:47 PM, Skipper Seabold wrote:
>>
>>> Am I misreading the docs or missing something?  Consider the following
>>> adapted from here:
>>> http://docs.scipy.org/doc/numpy/user/basics.io.genfromtxt.html
>>>
>>> from StringIO import StringIO
>>> import numpy as np
>>>
>>> data = "1, 2, 3\n4, ,5"
>>>
>>> np.genfromtxt(StringIO(data), delimiter=",", names="a,b,c",
>>> missing_values=" ", filling_values=0)
>>> array([(1.0, 2.0, 3.0), (4.0, nan, 5.0)],
>>>       dtype=[('a', '<f8'), ('b', '<f8'), ('c', '<f8')])
>>>
>>> np.genfromtxt(StringIO(data), delimiter=",", names="a,b,c",
>>> missing_values={'b':" "}, filling_values={'b' : 0})
>>> array([(1.0, 2.0, 3.0), (4.0, 0.0, 5.0)],
>>>       dtype=[('a', '<f8'), ('b', '<f8'), ('c', '<f8')])
>>>
>>> Unless I use the dict for missing_values, it doesn't fill them in.
>>>
>> It's probably a bug . Mind opening a ticket ? I'll try to care of it when I 
>> can.
>> Thx in advance
>> P.
> http://projects.scipy.org/numpy/ticket/1722
>
> Forgot to use the code formatting, and it doesn't look like I can edit.
>
> Thanks,
>
> Skipper
Hi,
Your filling_values is zero so there is this line (1295?) in the code:
user_filling_values = filling_values or []

Which of cause presumes your filling_values is not something like 0 or [0].

Now it can be a code bug or just undocumented feature that 
filling_values can not a single zero. Thus something like these work:

np.genfromtxt(StringIO(data), delimiter=",", names="a,b,c", 
filling_values=-90)
np.genfromtxt(StringIO(data), delimiter=",", names="a,b,c", 
filling_values=[0,0])
np.genfromtxt(StringIO(data), delimiter=",", names="a,b,c", 
filling_values=[0,0,0])

Bruce





_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to