Zastąp nadawanie numpy za pomocą scipy.sparse.csc_matrix
Mam w swoim kodzie następujące wyrażenie:
a = (b / x[:, np.newaxis]).sum(axis=1)
gdzieb
jest ndarray kształtu(M, N)
, ix
jest ndarray kształtu(M,)
. Teraz,b
jest właściwie rzadki, więc dla wydajności pamięci chciałbym zastąpić wscipy.sparse.csc_matrix
lubcsr_matrix
. Jednak transmisja w ten sposób nie jest zaimplementowana (mimo że podział lub mnożenie gwarantuje zachowanie rzadkości) (wpisy wx
są niezerowe) i podnosi aNotImplementedError
. Czy jestsparse
funkcja, o której nie wiem, co zrobiłbym, co chcę? (dot()
sumowałby się wzdłuż niewłaściwej osi.)