2020-03-20

CRS矩阵与COO矩阵

  • COO( Coordinate):把矩阵中不为0的值行号、列号、数值对应存储下来


    COO矩阵.png
  • CRS(Compressed Sparse Row)矩阵:在 from scipy import sparse 中定义CRS时,需要3个数组定义
    CRS矩阵
from scipy import sparse
data = np.array([1, 7, 2,  8, 5, 3, 9, 6, 4])         #所有的非零数值
indices = np.array([0, 1, 1, 2, 0, 2, 3, 1, 3])      #所有值得列索引
indptr = np.array([0, 2, 4, 7, 9])             #每行的的非零数据 data[i:i+1]
mtx = sparse.csr_matrix((data,indices,indptr),shape=(4,4))
mtx.todense()

[0] 1 [1] 7 [2] 2 [3] 8 [4] 5 [5] 3 [6] 9 [7] 6 [8] 4 [9]
其中1, 7, 2, 8, 5, 3, 9, 6, 4]是非0数值;
[0], [1], [2], [3], [4], [5], [6]指的是索引,[0,2],就是指的1,7; [2,4]指的是2,8;[4, 7]指的是5,3,9;[7,9]指的是6,4。

你可能感兴趣的:(2020-03-20)