Classificando na Matriz Esparsa
Eu tenho uma matriz esparsa. Eu preciso classificar essa matriz linha por linha e criar outra matriz [esparsa]. Código pode explicar melhor:
<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>Saída1
<code>(0, 5) 0.874881629788 (0, 4) 0.352559852239 (0, 2) 0.504791645463 (0, 1) 0.885898140175 </code>
eu tenho istom
matriz. Eu quero criar uma nova matriz com a versão ordenada de m. A nova matriz contém 0'th linha como esta.
<code>new_d = new_m.getrow(0) print new_d </code>Output2
<code>(0, 1) 0.885898140175 (0, 5) 0.874881629788 (0, 2) 0.504791645463 (0, 4) 0.352559852239 </code>
Então eu posso obter qual coluna é maior, etc:
<code>print new_d.indices </code>Output3
<code>array([1, 5, 2, 4]) </code>
É claro que todas as linhas devem ser classificadas como acima de forma independente.
Eu tenho uma solução para este problema, mas não é elegante.