Sortowanie w rzadkiej macierzy
Mam rzadką matrycę. Muszę posortować tę macierz wiersz po wierszu i utworzyć inną macierz [rzadką]. Kod może wyjaśnić to lepiej:
<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>Wyjście1
<code>(0, 5) 0.874881629788 (0, 4) 0.352559852239 (0, 2) 0.504791645463 (0, 1) 0.885898140175 </code>
Mam tom
matryca. Chcę utworzyć nową macierz z posortowaną wersją m. Nowa macierz zawiera 0-ty wiersz w ten sposób.
<code>new_d = new_m.getrow(0) print new_d </code>Wyjście2
<code>(0, 1) 0.885898140175 (0, 5) 0.874881629788 (0, 2) 0.504791645463 (0, 4) 0.352559852239 </code>
Mogę więc uzyskać większą kolumnę itd:
<code>print new_d.indices </code>Wyjście3
<code>array([1, 5, 2, 4]) </code>
Oczywiście każdy wiersz powinien być sortowany jak wyżej niezależnie.
Mam jedno rozwiązanie tego problemu, ale nie jest eleganckie.