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.