[Numpy-discussion] numpy.complex

Scott Sinclair scott.sinclair.za at gmail.com
Wed Jul 18 10:45:28 EDT 2012


On 18 July 2012 15:14, Molinaro Céline
<celine.molinaro at telecom-bretagne.eu> wrote:
> Hello,
>
> In [2]: numpy.real(arange(3))
> Out[2]: array([0, 1, 2])
> In [3]: numpy.complex(arange(3))
> TypeError: only length-1 arrays can be converted to Python scalars

I think you're looking for the dtype keyword to the ndarray constructor:

import numpy as np
np.arange(3, dtype=np.complex)
Out[2]: array([ 0.+0.j,  1.+0.j,  2.+0.j])

or if you have an existing array to cast:

np.asarray(np.arange(3), dtype=np.complex)
Out[3]: array([ 0.+0.j,  1.+0.j,  2.+0.j])

You can get the real and imaginary components of your complex array like so:

a = np.arange(3, dtype=np.complex)

a
Out[9]: array([ 0.+0.j,  1.+0.j,  2.+0.j])

a.real
Out[10]: array([ 0.,  1.,  2.])

a.imag
Out[11]: array([ 0.,  0.,  0.])

Cheers,
Scott



More information about the NumPy-Discussion mailing list