導航:首頁 > 數據處理 > 數據結構常用矩陣有哪些

數據結構常用矩陣有哪些

發布時間:2024-01-10 22:50:59

① scipy常見數據結構:coo_matrix、csc_matrix與csr_matrix

coo_matrix全稱是A sparse matrix in COOrdinate format,一種基於坐標格式的稀疏矩陣,每一個矩陣項是一個三元組(行,列,值)。
該矩陣的常見構造方法有如下幾種:

輸出為:

使用稠密二維數組構造

輸出為:
array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]], dtype=int8)

輸出為:
array([[4, 0, 9, 0],
[0, 7, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 5]])
如果行列坐標有重復,對應的值直接累加,舉例如下:

輸出為:
array([[3, 0, 1, 0],
[0, 2, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 1]])

csr是Compressed Sparse Row matrix的縮寫即壓縮稀疏基於行存儲的矩陣,好繞口,該矩陣有如下幾種構造方法:

輸出為:

輸出為:
array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]], dtype=int8)

輸出為:
array([[1, 0, 2],
[0, 0, 3],
[4, 5, 6]])
按行存儲,即先存儲第0行,然後第1行,依次到最後一行,即先掃描row數組的數據,第一個數據是0即第0行,然後掃描col的第一個數據是0即第0列,那麼第0行第0列存儲的值就是data的第一個數據即1,然後繼續掃描row的第二個數據還是0即還是第0行,col對應的第二個數據是2即第2列,data的第二個數據是2,即第0行第2列的數據是2,依次掃描row,找對應的col和data構造稀疏矩陣。

輸出為:
array([[1, 0, 2],
[0, 0, 3],
[4, 5, 6]])

csc是Compressed Sparse Column matrix的縮寫即基於列存儲的壓縮稀疏矩陣,該矩陣有如下幾種構造方法:

輸出如下:

和前面的csr的輸出對比可以看出該矩陣是按列逐個存儲。

輸出如下:
array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]], dtype=int8)

輸出如下:
array([[1, 0, 4],
[0, 0, 5],
[2, 3, 6]])

輸出如下:
array([[1, 0, 4],
[0, 0, 5],
[2, 3, 6]])

coo_matrix由於構造方便容易理解,所以通常都是先構造該矩陣然後調用tocsr和tocsc函數來獲取另外兩種矩陣的存儲。
csr_matrix支持快速的按行切片,而csc_matrix則支持快速按列切片操作。

閱讀全文

與數據結構常用矩陣有哪些相關的資料

熱點內容
市面上的信息流產品有哪些 瀏覽:358
plc如何讀取dp口編碼器數據 瀏覽:293
tst小代理如何做到創始人 瀏覽:270
京東物流信息怎麼查詢 瀏覽:877
如何理解期貨市場交易的特殊性 瀏覽:421
技術員怎麼給公司建議 瀏覽:661
不去人才市場如何轉檔案 瀏覽:638
華為手機哪個鍵是退出程序 瀏覽:951
如何給伺服器做反向代理 瀏覽:646
醫院實習能學到什麼技術 瀏覽:244
蘋果原裝數據線怎麼連接 瀏覽:62
如何應對跳空交易 瀏覽:293
微商代理服裝鞋怎麼樣 瀏覽:537
翁向宏預測都有哪些技術 瀏覽:441
河南衛視沒有信息怎麼辦 瀏覽:393
手游代理需要注意哪些 瀏覽:907
更新附加信息是什麼 瀏覽:971
電子信技術是什麼 瀏覽:39
二手車交易到本市怎麼退檔 瀏覽:619
如何通知老客戶增加新產品 瀏覽:321