本文簡要介紹 python 語言中 scipy.sparse.coo_matrix
的用法。
用法:
class scipy.sparse.coo_matrix(arg1, shape=None, dtype=None, copy=False)#
COOrdinate 格式的稀疏矩陣。
也稱為‘ijv’ 或‘triplet’ 格式。
- coo_matrix(D)
其中 D 是二維 ndarray
- coo_matrix(S)
與另一個稀疏數組或矩陣 S (相當於 S.tocoo())
- coo_matrix((M, N), [dtype])
構造一個形狀為 (M, N) 的空矩陣 dtype 是可選的,默認為 dtype='d'。
- coo_matrix((數據, (i, j)), [形狀=(M, N)])
- 從三個數組構造:
data[:] 矩陣的條目,以任意順序
i[:] 矩陣條目的行索引
j[:] 矩陣條目的列索引
其中
A[i[k], j[k]] = data[k]
。未指定形狀時,從索引數組推斷
這可以通過多種方式實例化::
注意:
稀疏矩陣可用於算術運算:它們支持加法、減法、乘法、除法和矩陣冪。
促進稀疏格式之間的快速轉換
允許重複條目(參見示例)
與 CSR/CSC 格式之間的快速轉換
- 不直接支持:
算術運算
slicing
COO 是一種用於構建稀疏矩陣的快速格式
構建 COO 矩陣後,轉換為 CSR 或 CSC 格式,以進行快速算術和矩陣向量運算
默認情況下,當轉換為 CSR 或 CSC 格式時,重複的 (i,j) 條目將被匯總在一起。這有助於有效構建有限元矩陣等。 (見示例)
條目和索引按行排序,然後按列排序。
沒有重複的條目(即重複的 (i,j) 位置)
數據數組可以有明確的零。
COO格式的優勢:
COO格式的缺點:
預期用途:
規範格式:
例子:
>>> # Constructing an empty matrix >>> import numpy as np >>> from scipy.sparse import coo_matrix >>> coo_matrix((3, 4), dtype=np.int8).toarray() array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], dtype=int8)
>>> # Constructing a matrix using ijv format >>> row = np.array([0, 3, 1, 0]) >>> col = np.array([0, 3, 1, 2]) >>> data = np.array([4, 5, 7, 9]) >>> coo_matrix((data, (row, col)), shape=(4, 4)).toarray() array([[4, 0, 9, 0], [0, 7, 0, 0], [0, 0, 0, 0], [0, 0, 0, 5]])
>>> # Constructing a matrix with duplicate indices >>> 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_matrix((data, (row, col)), shape=(4, 4)) >>> # Duplicate indices are maintained until implicitly or explicitly summed >>> np.max(coo.data) 1 >>> coo.toarray() array([[3, 0, 1, 0], [0, 2, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1]])
相關用法
- Python SciPy sparse.coo_array用法及代碼示例
- Python SciPy sparse.csc_matrix用法及代碼示例
- Python SciPy sparse.csc_array用法及代碼示例
- Python SciPy sparse.csr_matrix用法及代碼示例
- Python SciPy sparse.csr_array用法及代碼示例
- Python SciPy sparse.isspmatrix用法及代碼示例
- Python SciPy sparse.save_npz用法及代碼示例
- Python SciPy sparse.issparse用法及代碼示例
- Python SciPy sparse.isspmatrix_csc用法及代碼示例
- Python SciPy sparse.isspmatrix_csr用法及代碼示例
- Python SciPy sparse.tril用法及代碼示例
- Python SciPy sparse.dia_array用法及代碼示例
- Python SciPy sparse.bmat用法及代碼示例
- Python SciPy sparse.hstack用法及代碼示例
- Python SciPy sparse.rand用法及代碼示例
- Python SciPy sparse.dia_matrix用法及代碼示例
- Python SciPy sparse.find用法及代碼示例
- Python SciPy sparse.isspmatrix_dia用法及代碼示例
- Python SciPy sparse.isspmatrix_lil用法及代碼示例
- Python SciPy sparse.block_diag用法及代碼示例
- Python SciPy sparse.diags用法及代碼示例
- Python SciPy sparse.vstack用法及代碼示例
- Python SciPy sparse.dok_matrix用法及代碼示例
- Python SciPy sparse.kron用法及代碼示例
- Python SciPy sparse.random用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.sparse.coo_matrix。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。