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

时间:2019-03-27 09:06:03

标签: python dictionary scipy sparse-matrix

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

据我了解,稀疏矩阵在内部以类似于字典的形式保存数据,因此这样的转换似乎应该是微不足道且快速的。

但是,我找不到执行此操作的任何方法。

1 个答案:

答案 0 :(得分:0)

我认为您可以将矩阵转换为基于稀疏矩阵格式的键的字典(比较scipy's documentation),然后通过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}