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.)