Jeśli masz rzadki macierzy X:Mnożenie elementów w rozrzedzony tablicy z wierszy w macierzy
>> X = csr_matrix([[0,2,0,2],[0,2,0,1]])
>> print type(X)
>> print X.todense()
<class 'scipy.sparse.csr.csr_matrix'>
[[0 2 0 2]
[0 2 0 1]]
oraz macierz Y:
>> print type(Y)
>> print text_scores
<class 'numpy.matrixlib.defmatrix.matrix'>
[[8]
[5]]
... Jak można pomnożyć każdy element X przez rzędy Y. na przykład
[[0*8 2*8 0*8 2*8]
[0*5 2*5 0*5 1*5]]
, czyli
[[0 16 0 16]
[0 10 0 5]]
Mam dość tego, ale oczywiście to nie działa jak wymiary nie meczów: Z = X.data * Y
Byłoby również pracować z matryc COO? – Zach
Nie, dla COO musisz wykonać 'Z.data * = Y [Z.row]' Myślę, że lub np.take zamiast indeksowania, jeśli zależy Ci na szybkości. – seberg
To działa. Czyni to bez zagęszczania matrycy, prawda? – Zach