[Numpy-discussion] loadtxt ndmin option

Pierre GM pgmdevlist at gmail.com
Tue May 31 12:25:06 EDT 2011


On May 31, 2011, at 5:52 PM, Derek Homeier wrote:
> 
> I think stuff like multiple delimiters should have been dealt with  
> before, as the right place to insert the ndmin code (which includes  
> the decision to squeeze or not to squeeze as well as to add additional  
> dimensions, if required) would be right at the end before the 'unpack'  
> switch, or  rather replacing the bit:
> 
>     if usemask:
>         output = output.view(MaskedArray)
>         output._mask = outputmask
>     if unpack:
>         return output.squeeze().T
>     return output.squeeze()
> 
> But there it's already not clear to me how to deal with the  
> MaskedArray case...

Oh, easy.
You need to replace only the last three lines of genfromtxt with the ones from loadtxt  (808-833). Then, if usemask is True, you need to use ma.atleast_Xd instead of np.atleast_Xd. Et voilà.
Comments:
* I would raise an exception if ndmin isn't correct *before* trying to read the file... 
* You could define a `collapse_function` that would be `np.atleast_1d`, `np.atleast_2d`, `ma.atleast_1d`... depending on the values of `usemask` and `ndmin`...
If you have any question about numpy.ma, don't hesitate to contact me directly.




More information about the NumPy-Discussion mailing list