csc_matrix 上面的csr_matrix是通俗易懂的解释方法,下面我们以csc_matrix为例来看看比较官方的解释: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 # 示例解读>>>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])>>>csc_matrix((data...
>>> csr_matrix((data,indices,indptr),shape=(3,3)).toarray() array([[1, 0, 2], [0, 0, 3], 4, 5, 6]]) 其中指真比较难以理解,下面根据指针画图,以方便理解根据上图可以看出 指针是定位数据块的。比如iindptr=np.array([0,2,3,6]) ,其中2 是指竖线中的0到2的数据块,即 1,2是...
代码语言:txt 复制 import numpy as np from scipy.sparse import csr_matrix # 创建一个CSR矩阵 data = np.array([1, 0, 2, 0, 3]) indices = np.array([0, 2, 1, 2, 0]) indptr = np.array([0, 2, 3, 5]) matrix = csr_matrix((data, indices, indptr), shape=(3, 3)) ...
一、csr_matrix函数 from scipy.sparse import csr_matriximport numpy as np# data:代表的是稀疏矩阵中存储的所有元素data = np.array([1,2,3,4,5,6])# indices: 代表的是这6个元素所在的列的位置indices = np.array([0,2,2,0,1,2])# indptr: 游标,每一行起始元素的下标# 1 2|3|4 5 6的下...
CSR方法采取按行压缩的办法, 将原始的矩阵用三个数组进行表示 和大家分享下我怎样理解的 from scipy import sparse data = np.array([1, 2, 3, 4, 5, 6]) #所有非零数值 indices = np.array([0, 2, 2, 0, 1, 2]) #…
CSR方法采取按行压缩的方式,使用三个数组表示原始矩阵。首先,数据元素存储在'data'数组中,表示每一行的非零数值。每行的索引则在'indptr'数组中体现,注意,每个值代表该行中的非零元素数量。以矩阵第一行为例,data[ indptr[0]: indptr[1] ],即data[0:2],包含数值1和2。接下来,我们需要...
在探讨CSR矩阵压缩时,我们首先需要理解CSR代表Compressed Sparse Row,即按行压缩矩阵。原矩阵结构直观,便于理解。还原矩阵时,CSR结构发挥关键作用。此结构通过三个数组:indptr, indices和data,高效地存储稀疏矩阵。indptr数组记录了每行首尾非零元素的指针(不含右边界),如同切片操作。取某一行为例,...
上述官方文档时稀疏矩阵的一些特性以及csr_matrix的优缺点,并且在指明各种缺点的同时,提供了可以考虑的技术实现。 代码示例1 import numpy as np from scipy.sparse import csr_matrix row = np.array([0, 0, 1, 2, 2, 2]) col = np.array([0, 2, 2, 0, 1, 2]) ...
from scipy.sparse import csr_matrix:导入csr_matrix函数。 np.array(...):创建一个密集矩阵。 csr_matrix(dense_matrix):将密集矩阵转换为稀疏矩阵。 print(...):输出稀疏矩阵。 3. 矩阵操作 现在,我们可以对稀疏矩阵进行一些操作,例如获取非零元素及其坐标。
from scipy.sparse import csr_matrix # print(csr_matrix((3, 4), dtype=np.int8).toarray()) # 构建3*4的空矩阵 # [[0 0 0 0] # [0 0 0 0] # [0 0 0 0]] row = np.array([0, 0, 1, 2, 2, 2]) col = np.array([0, 2, 2, 0, 1, 2]) ...