Holen Sie sich Top-n-Elemente jeder Zeile in einer spärlichen Matrix.

Nach dem LesenDie ähnliche Frage, ich kann immer noch nicht ganz verstehen, wie man die Lösung umsetzt, nach der ich suche. Ich habe eine spärliche Matrix, d.

 import numpy as np
 from scipy import sparse
 arr = np.array([[0,5,3,0,2],[6,0,4,9,0],[0,0,0,6,8]])
 arr_csc = sparse.csc_matrix(arr)

Ich würde gerne effizient Holen Sie sich die Top n Artikelvon jeder Reihe, ohne die dünne Matrix in eine dichte umzuwandeln. Das Endergebnis sollte wie folgt aussehen (n = 2 vorausgesetzt):

 top_n_arr = np.array([[0,5,3,0,0],[6,0,0,9,0],[0,0,0,6,8]])
 top_n_arr_csc = sparse.csc_matrix(top_n_arr)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage