我正在寻找一种将稀疏矩阵(scipy.sparse.csr.csr_matrix
)转换为Python字典的有效方法。
据我了解,稀疏矩阵在内部以类似于字典的形式保存数据,因此这样的转换似乎应该是微不足道且快速的。
但是,我找不到执行此操作的任何方法。
答案 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}