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学习——随机稀疏矩阵及操作的更多相关文章

  1. Python中对 文件 的各种骚操作

    Python中对 文件 的各种骚操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getc ...

  2. Python中实现对list做减法操作介绍

    Python中实现对list做减法操作介绍 这篇文章主要介绍了Python中实现对list做减法操作介绍,需要的朋友可以参考下 问题描述:假设我有这样两个list, 一个是list1,list1 = ...

  3. 如何在Python中从零开始实现随机森林

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 决策树可能会受到高度变异的影响,使得结果对所使用的特定测试数据而言变得脆弱. 根据您的测试数据样本构建多个模型(称为套袋)可以减少这种差异,但是 ...

  4. python中的字符串(str)操作

    字符串是python中数据类型.一般就单引号(‘’)或双引号(“”)引起来的内容就是字符串. 例如:下面两个都是定义字符串 str1 = "hello world" str2 = ...

  5. python中with学习

    python中with是非常强大的一个管理器,我个人的理解就是,我们可以通过在我们的类里面自定义enter(self)和exit(self,err_type,err_value,err_tb)这两个内 ...

  6. 吴裕雄 python 机器学习——集成学习随机森林RandomForestRegressor回归模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...

  7. 吴裕雄 python 机器学习——集成学习随机森林RandomForestClassifier分类模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...

  8. python中库学习

    一.numpy NumPy的主要对象是同种元素的多维数组.这是一个所有的元素都是一种类型.通过一个正整数元组索引的元素表格(通常是元素是数字).在NumPy中维度(dimensions)叫做轴(axe ...

  9. Python中对字节流/二进制流的操作:struct

    前言 前段时间使用Python解析IDX文件格式的MNIST数据集,需要对二进制文件进行读取操作,其中我使用的是struct模块.查了网上挺多教程都写的挺好的,不过对新手不是很友好,所以我重新整理了一 ...

随机推荐

  1. 《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记

    章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti ...

  2. git clone 提示输入git@xxx的密码

    如下: suse:~/ecox # git clone git@vcs.in.ww-it.cn:ecox/ecox.git 正克隆到 'ecox'... git@vcs.in.ww-it.cn's p ...

  3. GPU编程自学3 —— CUDA程序初探

    深度学习的兴起,使得多线程以及GPU编程逐渐成为算法工程师无法规避的问题.这里主要记录自己的GPU自学历程. 目录 <GPU编程自学1 -- 引言> <GPU编程自学2 -- CUD ...

  4. Hibernate中用left join(左外连接)查询映射中没有关联关系的两个表记录问题

    一.问题背景 分账表split_summary结构如下: create table SPLIT_SUMMARY ( uuid VARCHAR2(32) not null, star_tdate VAR ...

  5. charles抓包--手机端

    Fiddler和charles都是抓包工具,可以抓到pc端的请求,手机上设置代理后也可以抓到手机上的请求,也可以修改请求数据和返回的数据. 在接口已经使用的时候,比如说已经用到了app上,app端测试 ...

  6. tomcat的安装和配置

    本人java开发的菜鸟工程师,这几天学习了tomcat的安装和使用,终于在今天运行成功. 一.tomcat的安装 1.tomcat下载网址:http://tomcat.apache.org/ 2.打开 ...

  7. Spring之基础

    Spring之目的     Spring致力于简化企业级Java开发,促进代码的松散耦合.成功的关键在于依赖注入(DI)和面向切面编程(AOP) Spring之DI     DI是组装应用对象的一种方 ...

  8. C++头文件预编译与命名空间使用方法

    宏指令的预编译用法,用于多文件的头文件预编译判断 头文件代码: #include <iostream> #ifndef XB_H//预编译判断XB_H代码段是否被执行 #define XB ...

  9. CF 148D D. Bag of mice (概率DP||数学期望)

    The dragon and the princess are arguing about what to do on the New Year's Eve. The dragon suggests ...

  10. 3DsMax动画插件

    * 简易骨骼动画: Mesh当前帧顶点 = Mesh绑定时顶点 * 绑定时骨骼的变换到本帧骨骼的变换的改变量. = Mesh绑定时顶点 * 绑定时骨骼的变换的逆矩阵 * 本帧的骨骼变换. = Mesh ...