[SciPy-user] Sparse matrix: division by vector

Nathan Bell wnbell@gmail....
Tue Apr 29 13:16:19 CDT 2008

On Tue, Apr 29, 2008 at 12:16 PM, Dinesh B Vadhia
<dineshbvadhia@hotmail.com> wrote:
> Sparse matrix A is in csr_matrix format and I want to divide each column
> element j of A by A's column j sum (where colSum is a numpy vector) ie.
> > A[:,j] = A[:,j]/colSum[j]
> What is the most efficient way to achieve this apart from brute force ie.
> > A[i,j] = A[i,j]/colSum[j] ?
> I can initially create A in a different c**_matrix method if that helps but
> the final A has to be in csr_matrix form.

Assuing A is in CSR and colSum[j] stores the j-th column sum you can do

A.data /= colSum[A.indices]

Nathan Bell wnbell@gmail.com

More information about the SciPy-user mailing list