scipy.sparse.csc_matrix¶
-
class
scipy.sparse.
csc_matrix
(arg1, shape=None, dtype=None, copy=False)[source]¶ Compressed Sparse Column matrix
This can be instantiated in several ways:
- csc_matrix(D)
- with a dense matrix or rank-2 ndarray D
- csc_matrix(S)
- with another sparse matrix S (equivalent to S.tocsc())
- csc_matrix((M, N), [dtype])
- to construct an empty matrix with shape (M, N) dtype is optional, defaulting to dtype=’d’.
- csc_matrix((data, (row_ind, col_ind)), [shape=(M, N)])
- where
data
,row_ind
andcol_ind
satisfy the relationshipa[row_ind[k], col_ind[k]] = data[k]
. - csc_matrix((data, indices, indptr), [shape=(M, N)])
- is the standard CSC representation where the row indices for
column i are stored in
indices[indptr[i]:indptr[i+1]]
and their corresponding values are stored indata[indptr[i]:indptr[i+1]]
. If the shape parameter is not supplied, the matrix dimensions are 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 CSC format
- efficient arithmetic operations CSC + CSC, CSC * CSC, etc.
- efficient column slicing
- fast matrix vector products (CSR, BSR may be faster)
- Disadvantages of the CSC format
- slow row slicing operations (consider CSR)
- changes to the sparsity structure are expensive (consider LIL or DOK)
Examples
>>> import numpy as np >>> from scipy.sparse import csc_matrix >>> csc_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, 2, 2, 0, 1, 2]) >>> col = np.array([0, 0, 1, 2, 2, 2]) >>> data = np.array([1, 2, 3, 4, 5, 6]) >>> csc_matrix((data, (row, col)), shape=(3, 3)).toarray() array([[1, 0, 4], [0, 0, 5], [2, 3, 6]])
>>> indptr = np.array([0, 2, 3, 6]) >>> indices = np.array([0, 2, 2, 0, 1, 2]) >>> data = np.array([1, 2, 3, 4, 5, 6]) >>> csc_matrix((data, indices, indptr), shape=(3, 3)).toarray() array([[1, 0, 4], [0, 0, 5], [2, 3, 6]])
Attributes
nnz
Get the count of explicitly-stored values (nonzeros) has_sorted_indices
Determine whether the matrix has sorted indices dtype (dtype) Data type of the matrix shape (2-tuple) Shape of the matrix ndim (int) Number of dimensions (this is always 2) data Data array of the matrix indices CSC format index array indptr CSC format index pointer array Methods