Ersetzen Sie Numpy Broadcasting durch scipy.sparse.csc_matrix

Ich habe in meinem Code den folgenden Ausdruck:

a = (b / x[:, np.newaxis]).sum(axis=1)

woherb ist ein Ndarray der Form(M, N), undx ist ein Ndarray der Form(M,). Jetzt,b ist eigentlich spärlich, daher möchte ich aus Gründen der Speichereffizienz in a ersetzenscipy.sparse.csc_matrix odercsr_matrix. Das Senden auf diese Weise wird jedoch nicht implementiert (obwohl garantiert wird, dass Division oder Multiplikation die Sparsamkeit aufrechterhalten) (die Einträge vonx sind nicht Null) und wirft aNotImplementedError. Ist da einsparse funktion mir ist nicht bewusst, dass das machen würde was ich will? (dot() würde auf der falschen Achse summieren.)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage