Python 带整数的列表中的Scipy稀疏矩阵

Python 带整数的列表中的Scipy稀疏矩阵,python,scipy,sparse-matrix,Python,Scipy,Sparse Matrix,如何从包含整数(或字符串)的列表中生成scipy稀疏矩阵 应成为: [[1, 1, 1, 0, 0], [1, 0, 0, 0, 0], [1, 0, 0, 1, 1]] 但是在scipy的压缩稀疏格式中?我假设您希望在最后有一个5乘5的矩阵。此外,索引从0开始 In [18]:import scipy.sparse as sp In [20]: a = [[0,1,2],[0],[0,3,4]] In [31]: m = sp.lil_matrix((5,5), dtype=int)

如何从包含整数(或字符串)的列表中生成scipy稀疏矩阵

应成为:

[[1, 1, 1, 0, 0],
 [1, 0, 0, 0, 0],
 [1, 0, 0, 1, 1]]

但是在scipy的压缩稀疏格式中?

我假设您希望在最后有一个5乘5的矩阵。此外,索引从0开始

In [18]:import scipy.sparse as sp


In [20]: a = [[0,1,2],[0],[0,3,4]]
In [31]: m = sp.lil_matrix((5,5), dtype=int)

In [32]: for row_index, col_indices in enumerate(a):
    m[row_index, col_indices] = 1
   ....:     

In [33]: m.toarray()
Out[33]: 
array([[1, 1, 1, 0, 0],
       [1, 0, 0, 0, 0],
       [1, 0, 0, 1, 1],
       [0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0]])

python具有基于零的索引。你真的有这样的吗?或者你可以从0开始?事实上我有单词/句子,我想如果有帮助的话,我可以把它们变成整数。这个方法是从零开始的。所以你也提前知道矩阵的形状?是的,我确实知道!输入不是正方形,但输出将是
n
by
n
In [18]:import scipy.sparse as sp


In [20]: a = [[0,1,2],[0],[0,3,4]]
In [31]: m = sp.lil_matrix((5,5), dtype=int)

In [32]: for row_index, col_indices in enumerate(a):
    m[row_index, col_indices] = 1
   ....:     

In [33]: m.toarray()
Out[33]: 
array([[1, 1, 1, 0, 0],
       [1, 0, 0, 0, 0],
       [1, 0, 0, 1, 1],
       [0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0]])