博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python SciPy Sparse模块学习笔记
阅读量:4286 次
发布时间:2019-05-27

本文共 1575 字,大约阅读时间需要 5 分钟。

1. sparse模块的官方document地址:http://docs.scipy.org/doc/scipy/reference/sparse.html
 
2. sparse matrix的存储形式有很多种,见此帖子http://blog.csdn.net/anshan1984/article/details/8580952
不同的存储形式在sparse模块中对应如下:
bsr_matrix(arg1[, shape, dtype, copy, blocksize]) Block Sparse Row matrix
coo_matrix(arg1[, shape, dtype, copy]) A sparse matrix in COOrdinate format.
csc_matrix(arg1[, shape, dtype, copy]) Compressed Sparse Column matrix
csr_matrix(arg1[, shape, dtype, copy]) Compressed Sparse Row matrix
dia_matrix(arg1[, shape, dtype, copy]) Sparse matrix with DIAgonal storage
dok_matrix(arg1[, shape, dtype, copy]) Dictionary Of Keys based sparse matrix.
lil_matrix(arg1[, shape, dtype, copy]) Row-based linked list sparse matrix
 
3. 要将普通的非稀疏矩阵变为相应存储形式的稀疏矩阵只要如下:(以coo_matrix为例)
A = coo_matrix([[1,2],[3,4]])
或者按照相应存储形式的要求,喂给参数,构建矩阵,以coo为例:
>>> row  = np.array([0,0,1,3,1,0,0])
>>> col  = np.array([0,2,1,3,1,0,0])
>>> data = np.array([1,1,1,1,1,1,1])
>>> coo_matrix((data, (row,col)), shape=(4,4)).todense()
matrix([[3, 0, 1, 0],
        [0, 2, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 1]])
4. hstack和vstack函数可以将稀疏矩阵横向或者纵向合并,比如:
>>> from scipy.sparse import coo_matrix, vstack
>>> A = coo_matrix([[1,2],[3,4]])
>>> B = coo_matrix([[5,6]])
>>> vstack( [A,B] ).todense()
matrix([[1, 2],
        [3, 4],
        [5, 6]])
但是经过测试,如果A和B的数据形式不一样,不能合并。比如A存储的是字符串,B是数字,那么不能合并。也就是说一个矩阵中的数据格式必须是相同的。

5. diags函数可以建立稀疏的对角矩阵
 
6. 对于大多数(似乎只处了coo之外)稀疏矩阵的存储格式,都可以进行slice操作,比如对于csc,csr。也可以进行arithmetic operations,矩阵的加减乘除,速度很快。
取矩阵的指定列数,比如取矩阵的第1,3,8列:matrix[:,[0,2,7]]
 
7.sparce矩阵的读取。可以像常规矩阵一样通过下标读取。也可以通过getrow(i),gecol(i)读取特定的列或者特定的行,以及nonzero()读取非零元素的位置。
你可能感兴趣的文章
SpringBoot 入门:环境搭建与HelloWorld~
查看>>
SpringBoot 入门:整合MongoDB,做简单查找功能
查看>>
自学大话设计模式——简单工厂模式与策略模式
查看>>
读Java核心技术36讲有感——谈谈对Java的理解,谈谈Exception和Error
查看>>
foobar2000中文版官方下载【多功能的音频播放器】
查看>>
【分析微软为何延迟发布Win8.1】
查看>>
【德国磁盘清理●V4.1.0 中文版】磁盘碎片整理工具
查看>>
【详细解析Windows7系统防火墙设置】
查看>>
【教你完美解决Windows7系统乱码问题】
查看>>
【浅析win7下IE8主页被篡改的修复过程】
查看>>
【广东暴雨决堤致水灾_最新各地险情新闻汇总】
查看>>
迅雷大全官方免费下载【互联网影视资源聚合平台】
查看>>
【cpu如何超频及cpu超频作用】
查看>>
【3D制图软件●13.4.059中文破解版】一款强大的CAD软件
查看>>
游久浏览器v1.0.2.1101绿色版[多标签&多窗口通用浏览器]
查看>>
【增强Windows开始菜单搜搜功能】
查看>>
【Java服务器软件】(Apache Tomcat)_绿色免费版下载
查看>>
【Win7如何一步同步文件夹的视图】
查看>>
【升级内存提升运行速度】
查看>>
金馆长qq表情包●绿色版【金馆长表情252个】
查看>>