[Numpy-discussion] Re: take for character arrays?
Faheem Mitha
faheem at email.unc.edu
Thu Apr 15 14:03:23 CDT 2004
On Thu, 15 Apr 2004, Todd Miller wrote:
> On Thu, 2004-04-15 at 16:17, Faheem Mitha wrote:
> > On Thu, 15 Apr 2004, Todd Miller wrote:
> >
> > > Try this for a workaround:
> > >
> > > s.swapaxes(0,1)
> > > s = s.copy()
> > > r = numarray.take(s, (1,2))
> > > r.swapaxes(0,1)
> >
> > I was trying
> >
> > In [50]: ts = numarray.transpose(s)
> >
> > In [51]: numarray.take(ts,(1,2),axis=0)
> > ...
> > ValueError: Invalid destination array: partial indices require
> > contiguous non-byteswapped destination
> >
> > In [52]: tscopy = numarray.transpose(s).copy()
> >
> > In [53]: numarray.take(tscopy,(1,2),axis=0)
> > Out[53]:
> > CharArray([['b', 'e', 'h'],
> > ['c', 'f', 'i']])
> >
> > Is this the same or a related bug?
>
> Same bug. Making a copy of the transposed array ensures that it (the
> copy) is contiguous.
I am wondering if this bug affects boost-python as well. I got the same
behaviour when using boost.python's version of take.
Can you point to where in the source code the bug is? Thanks.
Faheem.
More information about the Numpy-discussion
mailing list