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_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.
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
- dtypedtype
Data type of the matrix
shape2-tupleGet shape of a matrix.
- ndimint
Number of dimensions (this is always 2)
nnzNumber of stored values, including explicit zeros.
- data
Data array of the matrix
- indices
CSC format index array
- indptr
CSC format index pointer array
has_sorted_indicesDetermine whether the matrix has sorted indices
Methods
__len__(self)__mul__(self, other)interpret other and call one of the following
arcsin(self)Element-wise arcsin.
arcsinh(self)Element-wise arcsinh.
arctan(self)Element-wise arctan.
arctanh(self)Element-wise arctanh.
argmax(self[, axis, out])Return indices of maximum elements along an axis.
argmin(self[, axis, out])Return indices of minimum elements along an axis.
asformat(self, format[, copy])Return this matrix in the passed format.
asfptype(self)Upcast matrix to a floating point format (if necessary)
astype(self, dtype[, casting, copy])Cast the matrix elements to a specified type.
ceil(self)Element-wise ceil.
check_format(self[, full_check])check whether the matrix format is valid
conj(self[, copy])Element-wise complex conjugation.
conjugate(self[, copy])Element-wise complex conjugation.
copy(self)Returns a copy of this matrix.
count_nonzero(self)Number of non-zero entries, equivalent to
deg2rad(self)Element-wise deg2rad.
diagonal(self[, k])Returns the k-th diagonal of the matrix.
dot(self, other)Ordinary dot product
eliminate_zeros(self)Remove zero entries from the matrix
expm1(self)Element-wise expm1.
floor(self)Element-wise floor.
getH(self)Return the Hermitian transpose of this matrix.
get_shape(self)Get shape of a matrix.
getcol(self, i)Returns a copy of column i of the matrix, as a (m x 1) CSC matrix (column vector).
getformat(self)Format of a matrix representation as a string.
getmaxprint(self)Maximum number of elements to display when printed.
getnnz(self[, axis])Number of stored values, including explicit zeros.
getrow(self, i)Returns a copy of row i of the matrix, as a (1 x n) CSR matrix (row vector).
log1p(self)Element-wise log1p.
max(self[, axis, out])Return the maximum of the matrix or maximum along an axis.
maximum(self, other)Element-wise maximum between this and another matrix.
mean(self[, axis, dtype, out])Compute the arithmetic mean along the specified axis.
min(self[, axis, out])Return the minimum of the matrix or maximum along an axis.
minimum(self, other)Element-wise minimum between this and another matrix.
multiply(self, other)Point-wise multiplication by another matrix, vector, or scalar.
nonzero(self)nonzero indices
power(self, n[, dtype])This function performs element-wise power.
prune(self)Remove empty space after all non-zero elements.
rad2deg(self)Element-wise rad2deg.
reshape(self, shape[, order, copy])Gives a new shape to a sparse matrix without changing its data.
resize(self, \*shape)Resize the matrix in-place to dimensions given by
shaperint(self)Element-wise rint.
set_shape(self, shape)See
reshape.setdiag(self, values[, k])Set diagonal or off-diagonal elements of the array.
sign(self)Element-wise sign.
sin(self)Element-wise sin.
sinh(self)Element-wise sinh.
sort_indices(self)Sort the indices of this matrix in place
sorted_indices(self)Return a copy of this matrix with sorted indices
sqrt(self)Element-wise sqrt.
sum(self[, axis, dtype, out])Sum the matrix elements over a given axis.
sum_duplicates(self)Eliminate duplicate matrix entries by adding them together
tan(self)Element-wise tan.
tanh(self)Element-wise tanh.
toarray(self[, order, out])Return a dense ndarray representation of this matrix.
tobsr(self[, blocksize, copy])Convert this matrix to Block Sparse Row format.
tocoo(self[, copy])Convert this matrix to COOrdinate format.
tocsc(self[, copy])Convert this matrix to Compressed Sparse Column format.
tocsr(self[, copy])Convert this matrix to Compressed Sparse Row format.
todense(self[, order, out])Return a dense matrix representation of this matrix.
todia(self[, copy])Convert this matrix to sparse DIAgonal format.
todok(self[, copy])Convert this matrix to Dictionary Of Keys format.
tolil(self[, copy])Convert this matrix to List of Lists format.
transpose(self[, axes, copy])Reverses the dimensions of the sparse matrix.
trunc(self)Element-wise trunc.
__getitem__
