[SciPy-user] Sparse csr_matrix and column sum
Nathan Bell
wnbell at gmail.com
Sun Apr 27 20:08:23 EDT 2008
On Sun, Apr 27, 2008 at 6:41 PM, Dinesh B Vadhia
<dineshbvadhia at hotmail.com> wrote:
>
>
> If A is a sparse csr_matrix and you want to calculate the sum of each column
> then the 'normal' method is:
>
> import numpy
> import scipy
> from scipy import sparse
>
> colSum = scipy.asmatrix(scipy.zeros((1,J), dtype=numpy.float))
> colSum = A.mean(0)
>
> This isn't working. Do we have to do something else (eg. a todense()) for a
> sparse matrix? If so, how?
What do you mean by "isn't working"?
In [1]: from scipy import *
In [2]: from scipy.sparse import *
In [3]: A = csr_matrix(rand(3,3))
In [4]: A.todense()
Out[4]:
matrix([[ 0.95297535, 0.81029421, 0.79146232],
[ 0.88477059, 0.9025494 , 0.80259054],
[ 0.06691343, 0.76691617, 0.68518027]])
In [5]: A.mean(0)
Out[5]: matrix([[ 0.63488646, 0.82658659, 0.75974438]])
In [6]: A.mean(1)
Out[6]:
matrix([[ 0.85157729],
[ 0.86330351],
[ 0.50633662]])
In [7]: A.todense().mean(0)
Out[7]: matrix([[ 0.63488646, 0.82658659, 0.75974438]])
In [8]: A.todense().mean(1)
Out[8]:
matrix([[ 0.85157729],
[ 0.86330351],
[ 0.50633662]])
Dinesh, as a courtesy, would you provide specific details when
reporting your problems with SciPy? I'd rather not have to speculate
on the precise nature of each issue raised.
--
Nathan Bell wnbell at gmail.com
http://graphics.cs.uiuc.edu/~wnbell/
More information about the SciPy-User
mailing list