On Wed, 14 Sep 2011, Davide wrote:
Dear list,
I'm encountering a problem with np.loadtxt.
Suppose i have a file containing three columns of data (and 10 rows), like:
0.001 0.003 0.005
0.001 0.003 0.006
0.002 0.004 0.002
0.004 0.002 0.007
0.001 0.003 0.006
0.002 0.004 0.002
0.004 0.002 0.007
0.001 0.003 0.006
0.002 0.004 0.002
0.004 0.002 0.007
If i give:
len ( np.loadtxt( filename, unpack=True ) )
i get 3, since i have a three rows array. That's fine.
If instead the file has a single column, i.e.,
0.004
0.002
0.007
0.004
0.002
0.007
0.004
0.002
0.007
0.004
the command
len ( np.loadtxt( filename, unpack=True ) )
returns 10, where i would expect it to return 1, to be consistent with
the behaviour when there are multiple columns.
Is there a reason for why it is not like that?
Yes, the default for loadtxt is to automatically "squeeze" the output to the
minimum no. of dimensions required, thus it returns a 1D-array in the latter
case. If you are using numpy 1.6 or later, you can ensure to get a consistent
shape by passing the "ndmin=2" option.
Cheers,
Derek
--
----------------------------------------------------------------
Derek Homeier Centre de Recherche Astrophysique de Lyon
ENS Lyon 46, Allée d'Italie
69364 Lyon Cedex 07, France +33 1133 47272-8894
----------------------------------------------------------------
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion