[Numpy-discussion] String sort

Charles R Harris charlesr.harris at gmail.com
Fri Feb 8 10:19:25 EST 2008


On Feb 8, 2008 5:29 AM, Francesc Altet <faltet at carabos.com> wrote:

> Hi,
>
> I'm a bit confused that the sort method of a string character doesn't
> allow a mergesort:
>
> >>> s = numpy.empty(10, "S10")
> >>> s.sort(kind="merge")
> TypeError: desired sort not supported for this type


I think it's an error parsing the keyword. In fact, I thought I fixed that,
but maybe I was waiting till I added the other methods.


> However, by looking at the numpy sources, it seems that the only
> implemented method for sorting array strings is "merge" (I presume
> because it is stable).  So, perhaps the message above should be fixed.
>
> Also, in the context of my work in indexing, and because of the slowness
> of the current implementation in NumPy, I've ended with an
> implementation of the quicksort method for 1-D array strings.  For
> moderately large arrays, it is about 2.5x-3x faster than the
> (supposedly) mergesort version in NumPy, not only due to the quicksort,
> but also because I've implemented a couple of macros for efficient
> string swapping and copy.  If this is of interest for NumPy developers,
> tell me and I will provide the code.


I have some code for this too and was going to merge it. Send yours along
and I'll get to it this weekend.

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20080208/45a22d73/attachment.html>


More information about the NumPy-Discussion mailing list