[Numpy-discussion] ndarray of complex-like data

Robert Kern robert.kern@gmail....
Wed Feb 17 10:08:46 CST 2010

On Wed, Feb 17, 2010 at 02:43, Brecht Machiels
<brecht.machiels@esat.kuleuven.be> wrote:
> Robert Kern wrote:
>>>> 2) Subclass the ndarray to do what you want.
>>> I have subclassed ndarray, but I'm not sure how to continue from there.
>>> I was thinking of overriding __getitem__ and casting the complex to my
>>> complex subclass. Would that be the way to go? How would that work with
>>> slices?
>> I strongly recommend simply implementing an arg() function that works
>> on both arrays and and complex objects. Then just use abs() and arg()
>> instead of trying to get instances of your class and using their
>> attributes.
> Hmm. I hadn't thought of that option. I guess this makes more sense as
> this can than also operate on arrays like you say.
> Still, it would be interesting to know whether it's possible to have an
> ndarray subclass return instances of my complex subclass, preferably
> without having to copy the complex data (which would occur if I were to
> implement this behaviour by overriding __getitem__ as described above).
> But I assume that would require a user-defined type written in C?

Well, when numpy indexes to get a scalar, the data is always copied
(apart from object arrays, of course). It's not something you can or
should try to avoid.

Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
  -- Umberto Eco

More information about the NumPy-Discussion mailing list