python中scipy学习——随机稀疏矩阵及操作
1.生成随机稀疏矩阵:
scipy中生成随机稀疏矩阵的函数如下:
scipy.sparse.rand(m,n,density,format,dtype,random_state)
- 1
参数介绍:
| 参数 | 含义 |
|---|---|
| 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中scipy学习——随机稀疏矩阵及操作的更多相关文章
- Python中对 文件 的各种骚操作
Python中对 文件 的各种骚操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getc ...
- Python中实现对list做减法操作介绍
Python中实现对list做减法操作介绍 这篇文章主要介绍了Python中实现对list做减法操作介绍,需要的朋友可以参考下 问题描述:假设我有这样两个list, 一个是list1,list1 = ...
- 如何在Python中从零开始实现随机森林
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 决策树可能会受到高度变异的影响,使得结果对所使用的特定测试数据而言变得脆弱. 根据您的测试数据样本构建多个模型(称为套袋)可以减少这种差异,但是 ...
- python中的字符串(str)操作
字符串是python中数据类型.一般就单引号(‘’)或双引号(“”)引起来的内容就是字符串. 例如:下面两个都是定义字符串 str1 = "hello world" str2 = ...
- python中with学习
python中with是非常强大的一个管理器,我个人的理解就是,我们可以通过在我们的类里面自定义enter(self)和exit(self,err_type,err_value,err_tb)这两个内 ...
- 吴裕雄 python 机器学习——集成学习随机森林RandomForestRegressor回归模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...
- 吴裕雄 python 机器学习——集成学习随机森林RandomForestClassifier分类模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...
- python中库学习
一.numpy NumPy的主要对象是同种元素的多维数组.这是一个所有的元素都是一种类型.通过一个正整数元组索引的元素表格(通常是元素是数字).在NumPy中维度(dimensions)叫做轴(axe ...
- Python中对字节流/二进制流的操作:struct
前言 前段时间使用Python解析IDX文件格式的MNIST数据集,需要对二进制文件进行读取操作,其中我使用的是struct模块.查了网上挺多教程都写的挺好的,不过对新手不是很友好,所以我重新整理了一 ...
随机推荐
- (转)使用Hive UDF和GeoIP库为Hive加入IP识别功能
Hive是基于Hadoop的数据管理系统,作为分析人员的即时分析工具和ETL等工作的执行引擎,对于如今的大数据管理与分析.处理有着非常大的 意义.GeoIP是一套IP映射数据库,它定时更新,并且提供了 ...
- 敏捷BI与数据驱动机制
大数据这件事,整体上还是说的多一些,做的稍微少一点.大数据可以是荒凉高原上波澜壮阔的机房,也可以润物细无声般融入到日常生活和工作.换句话说,大数据应该是一种文化. 在个人层面,很多人对数字和计算并不敏 ...
- 在线机器学习FTRL(Follow-the-regularized-Leader)算法介绍
看到好文章,坚决转载!哈哈,学术目的~~ 最近几个同事在做推荐平台的项目,都问到怎么实现FTRL算法,要求协助帮忙实现FTRL的算法模块.今天也是有空,赶紧来做个整理.明天还要去上海参加天善智能组织的 ...
- String.prototype.getParm
String.prototype.getParms=function(name){ var reg = new RegExp('(^|&)' + name + '=([^&]*)(&a ...
- SaltStack简明教程
第1章 SaltStack简明教程 1.1 SaltStack简介 SaltStack是基于Python开发的一套C/S架构配置管理工具(功能不仅仅是配置管理,如使用salt-cloud配置AWS E ...
- 深入理解java虚拟机-第13章-线程安全与锁优化
第十三章 线程安全与锁优化 线程安全 java语言中的线程安全 1 不可变.Immutable 的对象一定是线程安全的 2 绝对线程安全 一个类要达到不管运行时环境如何,调用者都不需要额外的同步措施, ...
- javascript的slice()与splice()方法
(1)数组和String对象都有slice()方法. //Array var list = ['A','B','C','D','DS']; console.log(list.slice(,));//截 ...
- Unity Obstacle分析
NavMeshObstacle Normal 通过设置半径和高度来设定障碍物,配合NavMesh使用. 优点: 简单易用,效率高 动态生成 缺点: 可能会被主角穿过,但目前没发现 形状固定为圆柱 Na ...
- DVD项目
package sy.com.cn;import java.util.*; public class DvdWorker { public static void main(String[]args) ...
- 理解 Roslyn 中的红绿树(Red-Green Trees)
Roslyn 的 API 是非常易用的.即便如此复杂的 C# 语法,建立的复杂的 C# 语法树,还有其复杂的树遍历和修改过程,也都被其 API 包装得干净简洁. 而这背后是它的重要设计思路 —— 红绿 ...