scipy.sparse.coo_matrix¶
- class scipy.sparse.coo_matrix(arg1, shape=None, dtype=None, copy=False)[source]¶
- A sparse matrix in COOrdinate format. - Also known as the ‘ijv’ or ‘triplet’ format. - This can be instantiated in several ways:
- coo_matrix(D)
- with a dense matrix D
- coo_matrix(S)
- with another sparse matrix S (equivalent to S.tocoo())
- coo_matrix((M, N), [dtype])
- to construct an empty matrix with shape (M, N) dtype is optional, defaulting to dtype=’d’.
- coo_matrix((data, (i, j)), [shape=(M, N)])
- to construct from three arrays:
- data[:] the entries of the matrix, in any order
- i[:] the row indices of the matrix entries
- j[:] the column indices of the matrix entries
 
 - Where A[i[k], j[k]] = data[k]. When shape is not specified, it is inferred from the index arrays 
 
 - Notes - Sparse matrices can be used in arithmetic operations: they support addition, subtraction, multiplication, division, and matrix power. - Advantages of the COO format
- facilitates fast conversion among sparse formats
- permits duplicate entries (see example)
- very fast conversion to and from CSR/CSC formats
 
- Disadvantages of the COO format
- does not directly support:
- arithmetic operations
- slicing
 
 
 
- Intended Usage
- COO is a fast format for constructing sparse matrices
- Once a matrix has been constructed, convert to CSR or CSC format for fast arithmetic and matrix vector operations
- By default when converting to CSR or CSC format, duplicate (i,j) entries will be summed together. This facilitates efficient construction of finite element matrices and the like. (see example)
 
 - Examples - >>> 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) - >>> 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]]) - >>> # example with duplicates >>> 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_matrix((data, (row, col)), shape=(4, 4)).toarray() array([[3, 0, 1, 0], [0, 2, 0, 0], [0, 0, 0, 0], [0, 0, 0, 1]]) - Attributes - nnz - Get the count of explicitly-stored values (nonzeros) :Parameters: axis : None, 0, or 1 Select between the number of values across the whole matrix, in each column, or in each row. - dtype - (dtype) Data type of the matrix - shape - (2-tuple) Shape of the matrix - ndim - (int) Number of dimensions (this is always 2) - data - COO format data array of the matrix - row - COO format row index array of the matrix - col - COO format column index array of the matrix - Methods - arcsin() - Element-wise arcsin. - arcsinh() - Element-wise arcsinh. - arctan() - Element-wise arctan. - arctanh() - Element-wise arctanh. - asformat(format) - Return this matrix in a given sparse format - asfptype() - Upcast matrix to a floating point format (if necessary) - astype(t) - ceil() - Element-wise ceil. - conj() - conjugate() - copy() - deg2rad() - Element-wise deg2rad. - diagonal() - Returns the main diagonal of the matrix - dot(other) - Ordinary dot product .. - expm1() - Element-wise expm1. - floor() - Element-wise floor. - getH() - get_shape() - getcol(j) - Returns a copy of column j of the matrix, as an (m x 1) sparse matrix (column vector). - getformat() - getmaxprint() - getnnz([axis]) - Get the count of explicitly-stored values (nonzeros) :Parameters: axis : None, 0, or 1 Select between the number of values across the whole matrix, in each column, or in each row. - getrow(i) - Returns a copy of row i of the matrix, as a (1 x n) sparse matrix (row vector). - log1p() - Element-wise log1p. - max([axis]) - Maximum of the elements of this matrix. - maximum(other) - mean([axis]) - Average the matrix over the given axis. - min([axis]) - Minimum of the elements of this matrix. - minimum(other) - multiply(other) - Point-wise multiplication by another matrix - nonzero() - nonzero indices - power(n[, dtype]) - This function performs element-wise power. - rad2deg() - Element-wise rad2deg. - reshape(shape) - rint() - Element-wise rint. - set_shape(shape) - setdiag(values[, k]) - Set diagonal or off-diagonal elements of the array. - sign() - Element-wise sign. - sin() - Element-wise sin. - sinh() - Element-wise sinh. - sqrt() - Element-wise sqrt. - sum([axis]) - Sum the matrix over the given axis. - sum_duplicates() - Eliminate duplicate matrix entries by adding them together - tan() - Element-wise tan. - tanh() - Element-wise tanh. - toarray([order, out]) - See the docstring for spmatrix.toarray. - tobsr([blocksize]) - tocoo([copy]) - tocsc() - Return a copy of this matrix in Compressed Sparse Column format Duplicate entries will be summed together. - tocsr() - Return a copy of this matrix in Compressed Sparse Row format Duplicate entries will be summed together. - todense([order, out]) - Return a dense matrix representation of this matrix. - todia() - todok() - tolil() - transpose([copy]) - trunc() - Element-wise trunc. 
