[Numpy-discussion] String sort

Francesc Altet faltet@carabos....
Fri Feb 8 06:29:34 CST 2008


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

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.


>0,0<   Francesc Altet     http://www.carabos.com/
V   V   Cárabos Coop. V.   Enjoy Data

More information about the Numpy-discussion mailing list