官方文档可见:https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csc_matrix.html#scipy.sparse.csc_matrix

官方文档中关于CSC矩阵原文如下:

csc_matrix((data, indices, indptr), [shape=(M, N)])

is the standard CSC representation where the row indices for column i are stored in indices[indptr[i]:indptr[i+1]] and            their corresponding values are stored in data[indptr[i]:indptr[i+1]]. If the shape parameter is not supplied, the matrix              dimensions are inferred from the index arrays.

原文翻译:第i列的相对应的行信息,存储在indices[indptr[i]:indptr[i+1]]中,且与行列想对应的值存在于                data[indptr[i]:indptr[i+1]]。
相对应的测试代码如下:

>>> 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, indices, indptr), shape=(3, 3)).toarray()
array([[1, 0, 4],[0, 0, 5],[2, 3, 6]])

我的解读:

1. 首先,indptr中列表的长度len决定矩阵的列数num_column = len - 1,即原文档中的 column i

2. i = 0, indices [indptr[0]] : indptr[1]] = indices[0:2] = [0, 2], 即第0列对应于第0行和第2行,再看data中的值,即矩阵中(0,0)= 1, (2,0)=2; 

i = 1, indices [indptr[1]] : indptr[2]] = indices[2:3] = [2], 即第1列对应于第2行,再看data中的值,即矩阵中(2,1)= 3;

i = 2, indices [indptr[2]] : indptr[3]] = indices[3:6] = [0,1,2], 即第2列对应于第0行、第1行和第2行,再看data中的值,即矩阵中(0,2)= 4, (1,2)=5, (2,2)=6;

以上(a,b)表示a行b列

Scipy sparse中关于CSC矩阵的自我理解相关推荐

  1. 【scipy.sparse中csr.matrix的用法】

    scipy.sparse中csr.matrix的用法 作用:用于压缩稀疏行矩阵 1.csr_matrix(D) with a dense matrix or rank-2 ndarray D 2.cs ...

  2. Scipy.sparse中coo_matrix、csc_matrix、csr_matrix、lil_matrix辨析

    简介 1. coo_matrix: 坐标格式的矩阵(Coodrdinate format matrix) data = [1, 1, 1] row = [0, 1, 1] col = [0, 1, 1 ...

  3. Scipy.sparse中coo_matrix、csc_matrix、csr_matrix、lil_matrix区别与特点

    简介 coo_matrix: 坐标格式的矩阵(Coodrdinate format matrix) 优点: 不同稀疏格式间转换效率高(exp:CSR/CSC) coo_matrix不支持元素的存取和增 ...

  4. Objective-C中MRC和ARC的自我理解

    MRC: 手动引用计数. alloc -- 分配一个对象的内存空间 retain --使一个对象的引用计数加1 release --使一个对象的引用计数减1 retainCount --获取当前对象的 ...

  5. Python中scipy.sparse的一些整理

    scipy.sparse scipy.sparse的稀疏矩阵类型 scipy.sparse中的矩阵函数 构造函数 判别函数 其他有用函数 scipy.sparse中的作用在矩阵的内函数 针对元素的函数 ...

  6. scipy.sparse、pandas.sparse、sklearn稀疏矩阵的使用

    单机环境下,如果特征较为稀疏且矩阵较大,那么就会出现内存问题,如果不上分布式 + 不用Mars/Dask/CuPy等工具,那么稀疏矩阵就是一条比较容易实现的路. 文章目录 1 scipy.sparse ...

  7. scipy.sparse的一些整理

    scipy.sparse scipy.sparse的稀疏矩阵类型 scipy.sparse中的矩阵函数 构造函数 判别函数 其他有用函数 scipy.sparse中的作用在矩阵的内函数 针对元素的函数 ...

  8. Scipy.sparse模块中coo_matrix、csc_matrix、csr_matrix区别

    Scipy.sparse模块常用的三种具体形式 coo_matrix :COOrdinate format matrix csc_matrix :Compressed Sparse Column ma ...

  9. 关于稀疏矩阵转化为稠密矩阵问题 (scipy.sparse格式和tensor稀疏张量格式)

    scipy.sparse: todense() pytorch中的稀疏张量tensor: to_dense()

最新文章

  1. 零基础参加java培训主要学什么
  2. FPGA中状态机的稳定性
  3. asp.net关于kindeditor 上传图片出现服务器故障的解决办法
  4. 6. Qt 信号与信号槽(3)-QMetaObject
  5. 在C#中使用Json.Net进行序列化和反序列化及定制化
  6. .NET Core微服务之基于IdentityServer建立授权与验证服务(续)
  7. 但这是不可能的,或者无法发现JIT破坏了您的代码。
  8. 十二、安装redis3.2
  9. 台式机双系统安装(windows10+ubuntu18.04)及ROS安装的坑点解决
  10. 工业级嵌入式串口转wifi模块
  11. java面试题--java基础--迈达斯篇
  12. as常用固定搭配_as 。。。as 一些常考的固定搭配【重点中考】
  13. 手机模拟器安装证书抓包
  14. 元旦给计算机老师发贺词,给老师的元旦祝福语
  15. 利用GATK4.1 mutect2寻找体细胞突变(SNV和INDEL)
  16. LeetCode 1128.等价多米诺骨牌
  17. JS基本语法-JavaScript中的常用函数2:判断数字类型,isNaN和isFinite的使用
  18. PCB布局布线的相关基本原理和设计技巧
  19. 虚拟机无法连接虚拟设备sata0:1
  20. Qt QLineEdit单行输入框用法详解

热门文章

  1. Linux/Unix初步学习001(Linux镜像文件下载、Unix在线学习网址)
  2. 以太坊MPT数据结构
  3. 计算机间距设置在哪里设置方法,word行距怎么设置,教您word怎么设置行距
  4. Winform打包工具SetupFactory 9 的使用
  5. GPS北斗定位模块应用于车辆
  6. 似然函数 极大似然估计 本质讲解
  7. 2013年03月05日
  8. 这款开源的 Python 老照片修复工具火了
  9. 模式识别数学基础——线性代数部分
  10. 企业应用软件商怎么渡劫