在Python中访问稀疏矩阵中的单个条目

时间:2013-10-30 21:12:18

标签: python scipy sparse-matrix

我想使用稀疏矩阵进行BOW特征表示。我从scipy尝试过coo_matrix,但它似乎不支持我想做的事情:

我想初始化一个全零的矩阵,然后在适当的时候将给定的条目更改为一个。但是当我尝试索引矩阵我认为我应该如何 - 例如myMatrix [0] [0] = 1(或者甚至是myMatrix [0] [0] [0] = 1) - 它会改变所有的值连续到1.我想只做一个条目1。

我可以使用numpy矩阵轻松完成此操作,但我想使用稀疏矩阵来提高空间效率。

1 个答案:

答案 0 :(得分:4)

使用正确的sparse类型有帮助。

from scipy import sparse
M = sparse.lil_matrix((10,10))
M[1,1] = 1
M[5,5] = 1
# <10x10 sparse matrix of type '<type 'numpy.float64'>'
#   with 2 stored elements in LInked List format>

dok也有效。 csr建议使用lil。 'coo'不能这样设置。一旦填充,很容易转换为另一种格式。