bundles / scipy 1.17.1 / scipy / sparse / _csc / csc_matrix
ABCMeta
scipy.sparse._csc:csc_matrix
source: /scipy/sparse/_csc.py :274
Signature
def csc_matrix ( arg1 , shape = None , dtype = None , copy = False , * , maxprint = None ) Summary
Compressed Sparse Column matrix.
Extended Summary
This can be instantiated in several ways:
csc_matrix(D)
where D is a 2-D ndarray
csc_matrix(S)
with another sparse array or 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_indandcol_indsatisfy 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.
Attributes
dtype: dtypeData type of the matrix
shape: 2-tupleShape of the matrix
ndim: intNumber of dimensions (this is always 2)
nnzsizedataCSC format data array of the matrix
indicesCSC format index array of the matrix
indptrCSC format index pointer array of the matrix
has_sorted_indiceshas_canonical_formatT
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)
Canonical format
Within each column, indices are sorted by row.
There are no duplicate entries.
Examples
import numpy as np from scipy.sparse import csc_matrix csc_matrix((3, 4), dtype=np.int8).toarray()✓
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()✓
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()✓
Aliases
-
scipy.sparse.csc_matrix