Python 如何将SciPy稀疏矩阵转换为字典

Python 如何将SciPy稀疏矩阵转换为字典,python,dictionary,scipy,sparse-matrix,Python,Dictionary,Scipy,Sparse Matrix,我正在寻找一种将稀疏矩阵(scipy.sparse.csr.csr_matrix)转换为Python字典的有效方法 据我所知,稀疏矩阵内部以类似于字典的形式保存数据,因此这种转换看起来应该是简单而快速的 但是,我找不到任何方法可以做到这一点。我认为您可以将矩阵转换为基于密钥字典的稀疏矩阵格式(比较),然后通过items方法访问基础字典属性: import numpy as np from scipy.sparse import csr_matrix c = csr_matrix(np.arra

我正在寻找一种将稀疏矩阵(
scipy.sparse.csr.csr_matrix
)转换为Python字典的有效方法

据我所知,稀疏矩阵内部以类似于字典的形式保存数据,因此这种转换看起来应该是简单而快速的


但是,我找不到任何方法可以做到这一点。

我认为您可以将矩阵转换为基于密钥字典的稀疏矩阵格式(比较),然后通过
items
方法访问基础字典属性:

import numpy as np
from scipy.sparse import csr_matrix

c = csr_matrix(np.array([[1,2,3],
                         [4,5,6],
                         [7,8,9]])) # construct an example matrix
d = c.todok() # convert to dictionary of keys format
print(dict(d.items()))
这是打印出来的

{(0,0):1,(1,0):4,(2,0):7,(0,1):2,(1,1):5,(2,1):8,(0,2):3,(1,2):6,(2,2):9}