On 4. mai 2011, at 17.34, Derek Homeier wrote:

> Hi Paul,
> 
> I've got back to your suggestion re. the ndmin flag for loadtxt from a few 
> weeks ago...
> 
> On 27.03.2011, at 12:09PM, Paul Anton Letnes wrote:
> 
>>>> 1562:
>>>> I attach a possible patch. This could also be the default  
>>>> behavior to my mind, since the function caller can simply call  
>>>> numpy.squeeze if needed. Changing default behavior would probably  
>>>> break old code, however.
>>> 
>>> See comments on Trac as well.
>> 
>> Your patch is better, but there is one thing I disagree with.
>> 808    if X.ndim < ndmin:
>> 809        if ndmin == 1:
>> 810            X.shape = (X.size, )
>> 811        elif ndmin == 2:
>> 812            X.shape = (X.size, 1) 
>> The last line should be:
>> 812            X.shape = (1, X.size) 
>> If someone wants a 2D array out, they would most likely expect a one-row 
>> file to come out as a one-row array, not the other way around. IMHO.
> 
> I think you are completely right for the test case with one row. More 
> generally though, 
> since a file of N rows and M columns is read into an array of shape (N, M), 
> ndmin=2 
> should enforce X.shape = (1, X.size) for single-row input, and X.shape = 
> (X.size, 1) 
> for single-column input.
> I thought this would be handled automatically by preserving the original 2 
> dimensions, 
> but apparently with single-row/multi-column input an extra dimension 1 is 
> prepended 
> when the array is returned from the parser. I've put up a fix for this at 
> 
> https://github.com/dhomeier/numpy/compare/master...ndmin-cols
> 
> and also tested the patch against 1.6.0.rc2.
> 
> Cheers,
>                                               Derek


Looks sensible to me at least!

But: Isn't the numpy.atleast_2d and numpy.atleast_1d functions written for 
this? Shouldn't we reuse them? Perhaps it's overkill, and perhaps it will 
reintroduce the 'transposed' problem?

Paul

_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to