[Numpy-discussion] Converting char array to float
Travis E. Oliphant
oliphant at enthought.com
Wed Nov 28 19:05:33 EST 2007
Sameer DCosta wrote:
> I'm trying to convert a character array to a floating point array. I'm
> using one of the recent svn builds. It is surprising that astype does
> not do the job. However if I first convert the char array to an array
> and then use astype everything works fine. Is this a bug?
>
> import numpy as N
> print N.__version__ # Output = '1.0.5.dev4426'
> a = N.char.array(['123.45', '234.56'])
> b = N.array(a).astype(N.float) # This works.
> print b
> b = a.astype(N.float) # This does not work and raises an exception
>
> ValueError: Can only create a chararray from string data.
>
>
The problem is that astype for a chararray will by default try to create
a class of chararray. This sub-class only allows string data and so the
base-class astype(float) will fail.
The astype method could be over-ridden in order to support automatic
conversion to other kinds of arrays, but I lean towards asking "why?"
because "explicit is better than implicit" (although it is admittedly
arguable which is which in this case...)
-Travis
> Thanks.
> Sameer
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
>
>
More information about the NumPy-Discussion
mailing list