我一直在尝试将Python Scipy稀疏矩阵除以其行向量之和。以下是我的代码:
然而,无论我如何尝试,它都会报错。
sparse_mat = bsr_matrix((l_data, (l_row, l_col)), dtype=float)
sparse_mat = sparse_mat / (sparse_mat.sum(axis = 1)[:,None])
然而,无论我如何尝试,它都会报错。
sparse_mat = sparse_mat / (sparse_mat.sum(axis = 1)[:,None])
File "/usr/lib/python2.7/dist-packages/scipy/sparse/base.py", line 381, in __div__
return self.__truediv__(other)
File "/usr/lib/python2.7/dist-packages/scipy/sparse/compressed.py", line 427, in __truediv__
raise NotImplementedError
NotImplementedError
我哪里做错了吗?
sparse_mat = sparse_mat*(1 / (sparse_mat.sum(axis = 1)[:,None]))
吗?看起来稀疏矩阵的除法是问题所在。你可能还需要将除数转换为密集数组sparse_mat = sparse_mat*(1 / (sparse_mat.sum(axis = 1).toarray()[:,None]))
。 - Daniel F