Эффективный способ нормализовать скудную разреженную матрицу

Я хотел бы написать функцию, которая нормализует строки большой разреженной матрицы (так, чтобы они суммировались в одну).

from pylab import *
import scipy.sparse as sp

def normalize(W):
    z = W.sum(0)
    z[z < 1e-6] = 1e-6
    return W / z[None,:]

w = (rand(10,10)<0.1)*rand(10,10)
w = sp.csr_matrix(w)
w = normalize(w)

Однако это дает следующее исключение:

File "/usr/lib/python2.6/dist-packages/scipy/sparse/base.py", line 325, in __div__
     return self.__truediv__(other)
File "/usr/lib/python2.6/dist-packages/scipy/sparse/compressed.py", line 230, in  __truediv__
   raise NotImplementedError

Есть ли достаточно простые решения? Я смотрел наэтот, но до сих пор неясно, как на самом деле сделать разделение.

Ответы на вопрос(3)

Ваш ответ на вопрос