python中scipy学习——随机稀疏矩阵及操作
2017-01-08 11:16
323 查看
1.生成随机稀疏矩阵:
scipy中生成随机稀疏矩阵的函数如下:
参数介绍:
例子
代码如下:
2.稀疏矩阵的操作:
输出结果如下:
scipy中生成随机稀疏矩阵的函数如下:
scipy.sparse.rand(m,n,density,format,dtype,random_state)
参数介绍:
参数 | 含义 |
---|---|
m,n | 整型;表示矩阵的行和列 |
density | 实数类型;表示矩阵的稀疏度 |
format | str类型;表示矩阵的类型;如format=‘coo’ |
dtype | dtype;表示返回矩阵值的类型 |
ranom_state | {numpy.random.RandomState,int};可选的随机种子;如果空缺,默认numpy.random |
代码如下:
import scipy as spy n=4 m=4 density=0.5 matrixformat='coo' B=spy.sparse.rand(m,n,density=density,format=matrixformat,dtype=None) print(B) >>> (1, 1) 0.0687198939788 (3, 3) 0.141328654998 (0, 3) 0.944468193258 (2, 3) 0.598652789611 (0, 2) 0.0629165518906 (2, 0) 0.624087894456 (1, 2) 0.309460820898 (2, 2) 0.731375305002
2.稀疏矩阵的操作:
import scipy as spy n=4 m=4 row=spy.array([0,0,0,1,1,3,3]) col=spy.array([0,0,1,2,3,2,3]) value=spy.array([1,2,1,8,1,3,5]) print('自定义生成一个csc格式的稀疏矩阵..')#'coo'格式的矩阵无法进行以下某些操作 A=spy.sparse.csc_matrix((value,(row,col)),shape=(n,m)) print('稀疏矩阵的非稀疏表示形式...') print(A.todense()) print('稀疏矩阵的非零元素对应坐标...') nonzero=A.nonzero() print(nonzero) print('输出非零元素对应的行坐标和列坐标...') print(nonzero[0]) print(nonzero[1]) print('输出第i行非零值...') i=2 print(A[i,:]) print('输出第j列非零值...') j=2 print(A[:,j]) print('输出坐标为(i,j)对应的值...') print(A[i,j])
输出结果如下:
自定义生成一个csc格式的稀疏矩阵.. 稀疏矩阵的非稀疏表示形式... [[3 1 0 0] [0 0 8 1] [0 0 0 0] [0 0 3 5]] 稀疏矩阵的非零元素对应坐标... (array([0, 0, 1, 1, 3, 3], dtype=int32), array([0, 1, 2, 3, 2, 3], dtype=int32)) 输出非零元素对应的行坐标和列坐标... [0 0 1 1 3 3] [0 1 2 3 2 3] 输出第i行非零值... 输出第j列非零值... (1, 0) 8 (3, 0) 3 输出坐标为(i,j)对应的值... 0
注:更多参考请查看docs.scipy.org
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- 通过构建一个简单的掷骰子游戏去学习怎么用 Python 编程