# 示例解读
>>> indptr = np.array([0, 2, 3, 6])
>>> indices = np.array([0, 2, 2, 0, 1, 2])
>>> data = np.array([1, 2, 3, 4, 5, 6])
>>> csr_matrix((data, indices, indptr), shape=(3, 3)).toarray()
array([[1, 0, 2],
[0, 0, 3],
[4, 5, 6]])
就是说把data还原成一个array,你要知道行列的信息
行就是0,1,2,列信息存储在indptr、indices里,像翻译密码本一样层层嵌套
行0
indptr[0],indptr[1]=0,2
1、找有数据的列
indices[indptr[0],indptr[1]]=indices[0,2]=[0,2]
意思是,第0行的第0、2列有值
2、找数据
data[indptr[0],indptr[1]]=data[0,2]=[1,2]
意思是,第0行的第0、2列的值是1,2
行1
indptr[1],indptr[2]=2,3
1、找有数据的列
indices[indptr[1],indptr[2]]=indices[2,3]=2
意思是,第1行的第2列有值
2、找数据
data[indptr[1],indptr[2]]=data[2,3]=3
意思是,第1行的第2列的值是3
行2 列
indptr[2],indptr[3]=3,6
1、找有数据的列
indices[indptr[2],indptr[3]]=indices[3,6]=[0,1,2]
意思是,第2行的第0、1、2列有值
2、找数据
data[indptr[2],indptr[3]]=data[3,6]=4,5,6
意思是,第2行的第0、1、2列的值是4,5,6