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, ij), [shape=(M, N)])
where data and ij satisfy the relationship a[ij[0, k], ij[1, 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 in data[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

>>> from scipy.sparse import *
>>> from scipy import *
>>> csc_matrix( (3,4), dtype=int8 ).todense()
matrix([[0, 0, 0, 0],
        [0, 0, 0, 0],
        [0, 0, 0, 0]], dtype=int8)
>>> row = array([0,2,2,0,1,2])
>>> col = array([0,0,1,2,2,2])
>>> data = array([1,2,3,4,5,6])
>>> csc_matrix( (data,(row,col)), shape=(3,3) ).todense()
matrix([[1, 0, 4],
        [0, 0, 5],
        [2, 3, 6]])
>>> indptr = array([0,2,3,6])
>>> indices = array([0,2,2,0,1,2])
>>> data = array([1,2,3,4,5,6])
>>> csc_matrix( (data,indices,indptr), shape=(3,3) ).todense()
matrix([[1, 0, 4],
        [0, 0, 5],
        [2, 3, 6]])

Attributes

dtype
shape
ndim int(x[, base]) -> integer
nnz
has_sorted_indices Determine whether the matrix has sorted indices
data Data array of the matrix
indices CSC format index array
indptr CSC format index pointer array

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.
check_format([full_check]) check whether the matrix format is valid
conj()
conjugate()
copy()
deg2rad() Element-wise deg2rad.
diagonal() Returns the main diagonal of the matrix
dot(other)
eliminate_zeros() Remove zero entries from the matrix
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
getformat()
getmaxprint()
getnnz()
getrow(i) Returns a copy of row i of the matrix, as a (1 x n) sparse
log1p() Element-wise log1p.
mean([axis]) Average the matrix over the given axis.
multiply(other) Point-wise multiplication by another matrix
nonzero() nonzero indices
prune() Remove empty space after all non-zero elements.
rad2deg() Element-wise rad2deg.
reshape(shape)
rint() Element-wise rint.
set_shape(shape)
setdiag(values[, k]) Fills the diagonal elements {a_ii} with the values from the given sequence.
sign() Element-wise sign.
sin() Element-wise sin.
sinh() Element-wise sinh.
sort_indices() Sort the indices of this matrix in place
sorted_indices() Return a copy of this matrix with sorted indices
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]) Return a COOrdinate representation of this matrix
tocsc([copy])
tocsr()
todense([order, out]) Return a dense matrix representation of this matrix.
todia()
todok()
tolil()
transpose([copy])
trunc() Element-wise trunc.

Previous topic

scipy.sparse.coo_matrix.trunc

Next topic

scipy.sparse.csc_matrix.dtype