欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

scipy稀疏數(shù)組coo_array的實(shí)現(xiàn)

 更新時間:2023年02月21日 11:08:21   作者:微小冷  
本文主要介紹了scipy稀疏數(shù)組coo_array的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

coo_array

coo也被稱為ijv,是一種三元組格式,對于矩陣中第i ii行第j jj列的值v vv,將其存儲為( i , j , v ) (i,j,v)(i,j,v)這樣的三元組,即為coo_array的原理。

例如

import numpy as np
from scipy.sparse import coo_array
row  = np.array([0, 3, 1, 0])
col  = np.array([0, 3, 1, 2])
data = np.array([4, 5, 7, 9])
coo_array((data, (row, col)), shape=(4, 4)).toarray()
print(coo.toarray())

其輸出結(jié)果為

但需要注意一點(diǎn),若行數(shù)組和列數(shù)組所對應(yīng)的矩陣坐標(biāo)發(fā)生了重復(fù),那么重復(fù)位置處對應(yīng)的值會累加,

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 = coo_array((data, (row, col)), shape=(4, 4))
print(coo.toarray())

結(jié)果為

初始化方案

  • coo_array(D) D是一個稀疏數(shù)組或2 × D 2\times D2×D數(shù)組
  • coo_array(S) S是另一種稀疏數(shù)組
  • coo_array((M, N),dtype='d') 創(chuàng)建一個shape為( M , N ) (M, N)(M,N)的空數(shù)組,dtype為數(shù)據(jù)類型
  • coo_array((data, (i,j))) (i, j)是坐標(biāo)數(shù)組,data是數(shù)據(jù)數(shù)組,設(shè)新矩陣為a,則a[i[k], j[k]] = data[k]

前三種比較容易理解,下面驗(yàn)證一下第四種

>>> from scipy.sparse import coo_array
>>> import numpy as np
>>> data = np.random.rand(3)
>>> x = y = np.arange(3).astype(int)
>>> coo = coo_array((data,(x,y)))
>>> coo.toarray()
array([[0.28050236, 0.        , 0.        ],
       [0.        , 0.59568482, 0.        ],
       [0.        , 0.        , 0.84392724]])

內(nèi)置方法

稀疏數(shù)組在計算上并不便捷,所以coo_array中內(nèi)置了下列函數(shù),可以高效地完成計算。

函數(shù)expm1, log1p, sqrt, pow, sign
三角函數(shù)sin, tan, arcsin, arctan, deg2rad, rad2deg
雙曲函數(shù)sinh, tanh, arcsinh, arctanh
索引getcol, getrow, nonzero, argmax, argmin, max, min
舍入ceil, floor, trunc
變換conj, conjugate, getH
統(tǒng)計count_nonzero, getnnz, mean, sum
矩陣diagonal, trace
獲取屬性get_shape, getformat
計算比較multiply, dot, maximum, minimum
轉(zhuǎn)換asformat, asfptype, astype, toarray, todense
轉(zhuǎn)換tobsr, tocoo, tocsc, tocsr, todia, todok, tolil
更改維度set_shape, reshape, resize, transpose
排序sort_indices, sorted_indices
移除元素eliminate_zeros, prune, sum_duplicates
其他copy, check_format, getmaxprint, rint, setdiag

到此這篇關(guān)于scipy稀疏數(shù)組coo_array的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)scipy稀疏數(shù)組coo_array內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論