Clasificación en matriz dispersa

Tengo una matriz dispersa. Necesito ordenar esta matriz fila por fila y crear otra matriz [dispersa]. El código puede explicarlo mejor:

<code># for `rand` function, you need newer version of scipy.
from scipy.sparse import *
m = rand(6,6, density=0.6)
d = m.getrow(0)
print d
</code>
Salida1
<code>(0, 5) 0.874881629788 
(0, 4) 0.352559852239 
(0, 2) 0.504791645463 
(0, 1) 0.885898140175
</code>

tengo estom matriz. Quiero crear una nueva matriz con la versión ordenada de m. La nueva matriz contiene la fila 0 como esta.

<code>new_d = new_m.getrow(0)
print new_d
</code>
Salida2
<code>(0, 1) 0.885898140175
(0, 5) 0.874881629788  
(0, 2) 0.504791645463
(0, 4) 0.352559852239
</code>

Así que puedo obtener qué columna es más grande, etc:

<code>print new_d.indices
</code>
Salida3
<code>array([1, 5, 2, 4])
</code>

Por supuesto, cada fila debe ordenarse como anteriormente de forma independiente.

Tengo una solución para este problema, pero no es elegante.

Respuestas a la pregunta(2)

Su respuesta a la pregunta