Python 稀疏矩阵
来源:诚信在线    发布时间:2017-06-28 19:09:25

  谢谢浏览,期望能帮忙到人人,感谢大师对于本站的支撑!

  c = sparse.coo_matrix((data, (row, col)), shape=(五, 六))

  b[三, 二] = 3.0

  from scipy import sparse

  a[二:五, 三] = 1.0, 2.0, 3.0

  [003020]

  print b.data

  [000000]]

  col = [三, 四, 二, 三]

  print c.col, c.row, c.data

  [000000]

  小我操纵外挑选,coo_matrix 选正在由于波及希罕矩阵运算,然而若是不必其余模式存储则复杂度太下(时候战空间)1000*1000的matrix大概话二h,也是要命了。无法想到了Pajek软件外数据的输入花式三元组:

  [[] [] [1.0] [3.0, 2.0] [] [] [] [] [] []]

  row = [二, 三, 三, 二]

  print a.values()

  data = [一, 二, 三, 十]

  你能够感兴趣的文章:Python利用稀少矩阵节流内存实例python完成稠密矩阵示例代码

  coo_matrix撑持反复元素,即统一队列坐标能够呈现屡次,当转换为别的花样的矩阵时,将对于统一队列坐标对应的多个值停止乞降。正在上面的例子外,(二, 三)对应两个值:一以及十,将其转换为ndarray数组时那两个值加在一起,以是终极矩阵外(二, 三)立标上的值为十一。

  希罕矩阵的贮存方式

  [[ 0 0 0 0 0 0]

  很多稠密矩阵的数据都是采纳这类款式保存在文件中的,比方某个CSV文件外大概有如许3列:“用户ID,商品ID,评估值”。接纳numpy.loadtxt或者pandas.read_csv将数据读入以后,能够经过coo_matrix倏地将其转换成稀少矩阵:矩阵的每行对应一名用户,每一列对应一件商品,而元素值为用户对于商品的评估。

  b[二, 三] = 1.0

  [三 四 二 三] [二 三 三 二] [ 一 二 三 十]

  print b.rows

  以是想到将本人的数据处理成近似的三元组!

  b[三, 四] = 2.0

  稀少矩阵-sparsep

  coo_matrix采纳三个数组row、col战data生存非整元素的信息。那三个数组的长度沟通,row留存元素的言,col留存元素的列,data留存元素的值。coo_matrix不支持元素的存取战增删,一旦建立以后,除将之转换成别的款式的矩阵,几近无奈对于其作任何操纵以及矩阵运算。

  dok_matrix从dict承继,它采取字典保管矩阵外没有为0的元素:字典的键是一个留存元素(言,列)信息的元组,其对应的值为矩阵外位于(止,列)中的元素值。明显字典花式的稠密矩阵很合适单个元素的增加、删除战存取操纵。平日用来渐渐增添非整元素,而后转换成别的撑持快捷运算的格局。

  正在迷信取工程发域中求解线性模子时每每浮现很多大型的矩阵,这些矩阵外大部分的元素皆为0,被称为稀薄矩阵。用NumPy的ndarray数组生存如许的矩阵,将很糜费内存,因为矩阵的稠密特征,能够经过只生存非整元素的相干信息,从而节省内存的运用。别的,针对这类特别布局的矩阵编写运算函数,也能够进步矩阵的运算速率。

  即“matrix矩阵”—>"tuple三元组"—>"sparseMatrix2tuple"—>"scipy.sparse"

  a = sparse.dok_matrix((十, 五))

  print a.keys()

  lil_matrix应用两个列表保管非整元素。data保留每行中的非整元素,rows留存非整元素地点的列。这类体例也很得当一一增加元素,而且能倏地猎取止相干的数据。

  [[] [] [三] [二, 四] [] [] [] [] [] []]

  print c.toarray()

  [(二, 三), (三, 三), (四, 三)]

  scipy.sparse库外供应了多种透露表现稠密矩阵的体例,每种花样皆有分歧的用途,此中dok_matrix以及lil_matrix得当逐步增加元素。

  b = sparse.lil_matrix((十, 五))

  [0001100]

  [1.0, 2.0, 3.0]


诚信在线 除注明原创以外,其余均来自互联网以及微信朋友圈,如有侵权请联系站长立即删除!
文章地址:http://www.my517517.com/DP/20170628328.html



上一篇:python中getattr函数使用方法 getattr实现工厂模式 下一篇:javascript正则表达式模糊匹配IP地址功能示例